OpenCV Python新手教程实际操作:图像阈值

本书中的简短内容是一个很好的例子,首先,背景实际上根本没有白色,一切都是暗淡的,但是一切都是变化的。有些部分很轻,很容易阅读,而另一些则很暗,需要聚焦很多。首先,让我们尝试一个简单的阈值:

retval, threshold = cv2.threshold(img, 10, 255, cv2.THRESH_BINARY)

二进制阈值是一个简单的“或”阈值,其中像素为255或0。在许多情况下,该阈值为白色或黑色,但是我们现在将图像保留为彩色,因此可能仍为彩色。这里的第一个参数是图像。下一个参数是阈值,我们选择10。下一个是最大值,我们将其选择为255。接下来,最后是阈值类型,我们将其选择为THRESH_BINARY。通常,选择阈值10会有些困难。我们选择10,因为这是低光图片,所以我们选择低数字。通常,大约125-150的效果最好。


  1. import cv2  
  2. import numpy as np  
  3. img = cv2.imread('linuxidc.com.jpg')  
  4. retval, threshold =  cv2.threshold(img, 12, 255,  cv2.THRESH_BINARY)  
  5. cv2.imshow('original',img)  
  6. cv2.imshow('threshold',threshold)  
  7. cv2.waitKey(0)  
  8. cv2.destroyAllWindows() 
现在,图像的读取效果稍好一些,但仍然有些混乱。从视觉上看,它是更好的方法,但是使用程序来分析它仍然很困难。让我们看看是否可以进一步简化它。

首先,让我们对图像进行灰度处理,然后设置阈值:


  1. import cv2  
  2. import numpy as np  
  3. grayscaled = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  
  4. retval, threshold =  cv2.threshold(grayscaled, 10, 255,  cv2.THRESH_BINARY)  
  5. cv2.imshow('original',img)  
  6. cv2.imshow('threshold',threshold)  
  7. cv2.waitKey(0)  
  8. cv2.destroyAllWindows() 

结果如下:

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章