python - 合并通道导致opencv中的人工制品
问题描述
我正在分离一张 RGB 图片,然后对每个通道进行阈值处理,然后当我合并 3 个通道时,我会得到如下图所示的人工制品。
b, g, r = cv2.split(image)
r = cv2.threshold(r, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
g = cv2.threshold(g, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
b = cv2.threshold(b, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
rgb_image = cv2.merge([b, g, r])
k = cv2.getStructuringElement(cv2.MORPH_RECT, (15, 15))
blackhat = cv2.morphologyEx(rgb_image, cv2.MORPH_BLACKHAT, k)
mask = cv2.inRange(rgb_image, (225, 225, 225), (255, 255, 255))
# dst = np.dstack((frame, 255-mask))
dst = np.dstack((rgb_image, mask))
cv2.imshow('lo', dst)
cv2.waitKey()
解决方案
推荐阅读
- angular - 如何从 Angular 拦截器中的服务获取数据?
- flutter - 无法将参数类型“ImageIcon”分配给 TabItem 中的参数类型“IconData”
- java - javax.mail.AuthenticationFailedException 通过在 java 中通过官方电子邮件发送邀请链接
- amazon-web-services - 从 AWS S3 下载的图像无法在任何查看器中正确打开
- flutter - LateInitializationError:字段“_selectedRadio@974458188”尚未初始化。无法解决此问题
- openshift - 使用 Redhat Developer 订阅创建 openshift 集群
- unit-testing - 如何测试需要令牌来调用数据服务的处理程序
- kubernetes - 我需要在普罗米修斯中发出磁盘使用警报
- angular - 有什么方法可以设置 ngx-chips 中使用的 tagModel 的值吗?
- python - 没有使用python数据框将数据写入文件的问题