import cv2
import copy
import os def filter_srcimg(dstimg):
ss=3
srcimg=copy.deepcopy(dstimg)
#aa=5
imgw=srcimg.shape[0]
imgh=srcimg.shape[1]
border_mat=[[0]*imgw]*imgh
for ddd in range(0,1):
for i in range(20,imgw-20):
for j in range(20,imgh-20):
loss=(8*float(srcimg[i][j][0])-float(srcimg[i-ss][j-ss][0])-float(srcimg[i-ss][j][0])-float(srcimg[i][j-ss][0])-float(srcimg[i-ss][j+ss][0])-float(srcimg[i+ss][j-ss][0])-float(srcimg[i][j+ss][0])-float(srcimg[i+ss][j][0])-float(srcimg[i+ss][j+ss][0]))/8
if loss>10 or srcimg[i][j][0]>180:
#print loss
#print "####,",srcimg[i][j][0]
border_mat[i][j]=1
#res=int((float(srcimg[i-aa][j-aa][0])+float(srcimg[i-aa][j][0])+float(srcimg[i][j-aa][0]))/3)
res=int(float(srcimg[i][j][0])-loss*3)
if res<0:
res=0
dstimg[i][j][0]=res
dstimg[i][j][1]=dstimg[i][j][0]
dstimg[i][j][2]=dstimg[i][j][0]
#return dstimg if __name__=='__main__':
for elem in os.listdir(os.getcwd()):
if '.py' not in elem:
img=cv2.imread(elem) cv2.imshow("",img)
cv2.waitKey(0) filter_srcimg(img)
cv2.imshow("",img)
cv2.waitKey(0)

注意事项:

1、cv2.imread返回类型

img=cv2.imread("ddd.png")

返回一个(高度,宽度,通道数)的ndarray

返回的ndarray中的数据类型是numpy.uint8,即8位无符号整数(0-255)

修改像素值:

img[0][0][0]=100

这里注意,因为ndarray中的类型为uint8,故赋的值上溢出(>255)或下溢出(<0)时,会自动取模,而不会报错!

2、深拷贝浅拷贝

(1)赋值时

对基本数据类型是值拷贝

对类是浅拷贝

如果对类进行值拷贝,需要使用深拷贝copy.deepcopy()

比较两个引用是否指向同一对象——用id()查看引用指向的地址,id()返回值为int

(2)函数传参时

与赋值时相同

对基本数据类型是值拷贝

输出是1

对类是浅拷贝

输出是[2,1,1]

最新文章

  1. 4.C#WinForm基础图片(显示和隐藏)
  2. 使用xib需要记得的小问题
  3. 第四章:Javascript表达式和运算符
  4. Win2003x64系统
  5. iOS App Icon图标 尺寸规范
  6. [HIHO1039]字符消除(字符串,枚举,模拟)
  7. Object-C 内存管理及对象
  8. 当html中存在url中如: onclick=&quot;toView(&#39;参数1&#39;)&quot;, 参数1是特别字符,如&amp;asop;&amp;quot;&#39; &quot;等时,浏览器解析时会报错。解决方法如文中描述
  9. DS4700存储日志收集
  10. SGU 190.Dominoes(二分图匹配)
  11. Chrome浏览器扩展开发系列之一:初识Google Chrome扩展
  12. python入门(2)python的安装
  13. Git reset到某一次commit
  14. pyzmq学习笔记
  15. MVC是什么
  16. try、catch、finally都有return语句时执行哪个
  17. python 抽象类与接口类
  18. python 防死锁机制
  19. 无法连接 MKS:套接字连接尝试次数太多正在放弃
  20. IntelliJ IDEA 2017版 spring-boot2.0.访问jsp页面;IDE Springboot JSp 页面访问

热门文章

  1. oracle 显示格式化
  2. 使用padding和float处理带有间隙的多块布局
  3. eclipse 灵活使用makefile来编译C/C++
  4. 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?
  5. CI框架中 类名不能以方法名相同
  6. Unity3D 新版粒子系统 (Shuriken)
  7. thinkPHP 上传文件的中文乱码
  8. MathType中空格个数怎么显示
  9. c++ const(不断跟新)
  10. Objective-C代码学习大纲(3)