Python Opencv提取图片中某种颜色组成的图形的方法

yipeiwu_com6年前Python基础

主要目标识别图中红色的裂缝,尝试了几种不同的方法,最后发现比较每一点的RGB差值可以很好的解决这个问题,也就是提取图片中的红色相关信息。处理结果如下:

实现的代码如下,注意opencv读入的图片通道顺序是bgr:

import cv2
import matplotlib.pyplot as plt
imagepath = r'tear/11.jpg'
image = cv2.imread(imagepath)
height,width,channel = image.shape
for i in range(height):
  for j in range(width):
    b,g,r = image[i,j]
    if((r-b)>30 and (r-g)>30): #对蓝色进行判断,30不错
      b=0
      g=0
      r=0
    else:
      b=255
      g=255
      r=255
        
    image[i,j]=[r,g,b]
plt.figure(figsize=(20,10))
plt.imshow(image)
plt.show()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pycharm运行出现ImportError:No module named的解决方法

pycharm运行出现ImportError:No module named的解决方法

今天用实验室的pycharm运行程序的时候发现出现了已安装的模块无法导入的情况,但实际上这个模块我已经在notebook中使用多次了,所以不可能是未安装模块的原因 查了一下原因,应该是...

Python实现模拟浏览器请求及会话保持操作示例

Python实现模拟浏览器请求及会话保持操作示例

本文实例讲述了Python实现模拟浏览器请求及会话保持操作。分享给大家供大家参考,具体如下: python下读取一个页面的数据可以通过urllib2轻松实现请求 import url...

python的id()函数解密过程

>>> a = 2.5 >>> b = 2.5 >>> c = b >>> a is c False >&g...

python编写简易聊天室实现局域网内聊天功能

本文实例为大家分享了python实现局域网内聊天功能的具体代码,供大家参考,具体内容如下 功能: 可以向局域网内开启接收信息功能的ip进行发送信息,我们可以写两段端口不同的代码来实现...

跟老齐学Python之模块的加载

跟老齐学Python之模块的加载

不管是用import还是用from mmmm import *的方式导入模块,当程序运行之后,回头在看那个存储着mmmm.py文件的目录中(关于mmmm.py文件可以看上一讲),多了一个...