ann*_*nie 2 python opencv image-processing computer-vision scikit-image
我想将图片准确地转换为黑白图像,其中种子将用白色表示,背景用黑色表示。我想在python opencv代码中使用它。请帮帮我
使用下面的给定代码,对于上述图片,我得到了很好的结果。现在,我有另一幅画,其阈值似乎不起作用。我该如何解决这个问题。我得到的输出如下图

同样,种子中也有一些凹痕,程序将其作为种子的边界,效果不佳,如下图所示。我如何使该程序忽略凹痕。在这种情况下,遮盖种子是个不错的选择。

我将图像从BGR色彩空间转换为HSV色彩空间。
然后我提取了色相通道:
然后我对其执行了阈值:
注意:
每当您在某些区域遇到困难时,请尝试在其他颜色空间中进行操作,HSV颜色空间最为突出。
更新:
这是代码:
import cv2
import numpy as np
filename = 'seed.jpg'
img = cv2.imread(filename) #---Reading image file---
hsv_img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) #---Converting RGB image to HSV
hue, saturation, value, = cv2.split(hsv_img) #---Splitting HSV image to 3 channels---
blur = cv2.GaussianBlur(hue,(3,3),0) #---Blur to smooth the edges---
ret,th = cv2.threshold(blur, 38, 255, 0) #---Binary threshold---
cv2.imshow('th.jpg',th)
Run Code Online (Sandbox Code Playgroud)
现在,您可以执行轮廓操作以突出显示您感兴趣的区域。试试看!!:)
另一个更新:
我发现轮廓高于某个约束来获得此效果:
| 归档时间: |
|
| 查看次数: |
677 次 |
| 最近记录: |