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设计】。

相关文章

Python OpenCV利用笔记本摄像头实现人脸检测

Python OpenCV利用笔记本摄像头实现人脸检测

本文实例为大家分享了Python OpenCV利用笔记本摄像头实现人脸检测的具体代码,供大家参考,具体内容如下 1.安装opencv 首先参考其他文章安装pip。 之后以管理员身份运行命...

Python输出由1,2,3,4组成的互不相同且无重复的三位数

题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排...

Python使用functools实现注解同步方法

在 Python 中没有类似 Java 中使用的 synchronized 关键字来同步方法,因此在 Python 中要实现同步方法,通常我们是使用 threading.Lock() 来...

Python搭建代理IP池实现获取IP的方法

Python搭建代理IP池实现获取IP的方法

使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个 IP 的访问速度或访问次数,超出了它的限制你的 IP 就会被封掉。对于访问速度的处理比较简单,只要间隔一段时间爬取一次就行了...

PyQt5 QSerialPort子线程操作的实现

环境: python3.6 pyqt5 只是简单的一个思路,请忽略脆弱的异常防护: # -*- coding: utf-8 -*- import sys from PyQt5....