*分块

*全局阈值 VS 局部阈值

 import cv2 as cv
import numpy as np def big_image_binary(image):
print(image.shape)
cw = 213
ch = 547
h,w = image.shape[:2]
gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
for row in range(0,h,ch):
for col in range(0,w,cw):
roi = gray[row:row+ch,col:col+cw] #进行分块
print(np.std(roi),np.mean(roi))
#全局阈值方法
# ret,dst = cv.threshold(roi,127,256,cv.THRESH_BINARY|cv.THRESH_OTSU)
# gray[row:row + ch, col:col + cw] = dst # 全局阈值过滤噪点方法
if np.std(roi) < 20:
gray[row:row + ch, col:col + cw] = 255 #块的二维数组平方差小于20时 将其设为255-变白
else:
ret,dst = cv.threshold(roi,127,256,cv.THRESH_BINARY|cv.THRESH_OTSU)
gray[row:row + ch, col:col + cw] = dst #局部阈值方法
# dst = cv.adaptiveThreshold(roi,255,cv.ADAPTIVE_THRESH_GAUSSIAN_C,cv.THRESH_BINARY,127,20)
# gray[row:row + ch, col:col + cw] = dst
# print(np.std(dst),np.mean(dst)) #np.std(dst)计算矩阵的标准差 np.mean(dst) 均值 cv.imwrite('new_big_image3.jpg',gray) src = cv.imread('BigImage_Binary1.jpg')
# cv.namedWindow('input_image',cv.WINDOW_AUTOSIZE)
# cv.imshow('input_image',src) big_image_binary(src) cv.waitKey(0)
cv.destroyAllWindows()

原图:

全局阈值效果:

全局阈值过滤掉噪点效果:【上一张图全局阈值右边还有噪点  过滤后噪点消失】

高斯C方法局部阈值效果:

补充知识点:

#np.std()  标准差 
#np.mean() 均值
>>> a = np.array([[1, 2], [3, 4]])
>>> np.std(a) # 计算矩阵全局标准差
1.1180339887498949
>>> np.std(a) # 计算矩阵全局标准差
2.5
>>> np.std(a, axis=0) # axis=0计算每一列的标准差  
array([ 1., 1.])
>>> np.std(a, axis=1) # 计算每一行的标准差 array([ 0.5, 0.5])

最新文章

  1. 代码阅读工具:Source Navigator和Source Insight
  2. 主机无法访问虚拟机Linux的apache
  3. 习题-第5章Web自动化测试
  4. iOS开发UI篇—popoverController简单介绍
  5. sql server 脚本创建数据库邮件
  6. 开启所有PHP错误!无论在任何时候
  7. STL函数模板(即算法)一览
  8. Learning Cocos2d-x for WP8(6)——场景切换和场景过渡效果
  9. sql server连接oracle并实现增删改查
  10. window10下TensorFlow-gpu环境搭建
  11. Log4j2 + Maven的配置文件示例详解
  12. HDU-1087.SuperJUmpingJUmpingJumping.(DP and LISPP)
  13. SlickMaster.NET 开源表单设计器快速使用指南
  14. linux下集成开发环境之ECLIPSE--在线调试、编译程序
  15. LINUX block I/O --systemtap
  16. 动态更新ViewPager中的Fragment(替换Fragment)
  17. 高斯白噪声(white Gaussian noise,WGN)
  18. Text Particle Systems
  19. 手把手教你看KEGG通路图!
  20. spring mvc 集成hibernate步骤

热门文章

  1. firefox 好用的插件
  2. Tiny6410 关于制作ubifs文件系统映像
  3. U3D教程宝典之两步实现超实用的XML存档
  4. Hadoop计算平均值【转】
  5. mysql的存储过程与事务入门
  6. codeforces水题100道 第二十四题 Codeforces Beta Round #85 (Div. 2 Only) A. Petya and Strings (strings)
  7. Oralce分析函数
  8. 在mac终端先打开mysql
  9. Puppet部署
  10. 虚拟机可以ping同宿主机,宿主机ping不通虚拟机