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

相关文章

win10系统下Anaconda3安装配置方法图文教程

win10系统下Anaconda3安装配置方法图文教程

本文主要介绍在 windows 10 系统中安装 Anaconda3 的详细过程。 下载 Anaconda 官网下载地址 目前最新版本是 python 3.6,默认下载也是 Python...

用Python实现一个简单的线程池

线程池的概念是什么? 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是 如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁...

Windows平台Python编程必会模块之pywin32介绍

Windows平台Python编程必会模块之pywin32介绍

在Windows平台上,从原来使用C/C++编写原生EXE程序,到使用Python编写一些常用脚本程序,成熟的模块的使用使得编程效率大大提高了。 不过,python模块虽多,也不可能满足...

Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子

scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。 这里就直接用python的scapy搞。 这里是ar...

使用Python对IP进行转换的一些操作技巧小结

Python Socket模块中包含一些有用IP转换函数,说明如下: socket.ntohl(x) // 类似于C语言的ntohl(x) 把32位正整数从网络序转换成...