opencv python3 找图片色块_OpenCV中色块的检测与标注
我在Jupyter笔记本上工作。首先下载您的图像:!wget https://i.stack.imgur.com/SJxo3.png
然后从您的pic创建一个RGBA数组:
^{pr2}$
我们希望在您的图片上有一组不同的颜色,因此我们创建了一组:colors=set()
for each in arr:
for EACH in each:
colors.add(tuple(EACH.tolist()))
我们要循环这些颜色并选择每种颜色出现的区域。我们从以下几点开始:for index, each in enumerate(colors):
现在每个颜色都是一个元组,在这个for循环中,当前是一个元组,我们需要一个列表,因此:color=[]
for EACH in each:
color.append(EACH)
我们现在创建一个包含布尔值的数组,如果相应的RGBA组件与我们当前检查的颜色相同,则为True:boolarr=[]
for eachinarr2 in [arr == color]:
boolarr.append(eachinarr2)
然后我们选择与我们当前检查的颜色相同的像素,即RGBA的四个分量都匹配(因此我们有相同的颜色)。我们将这些像素cordinate存储在indexx和INDEXX中。在featurepixels=[]
for indexx, eachh in enumerate(boolarr[0]):
for INDEXX, EACHH in enumerate(eachh):
if EACHH.all() == True:
featurepixels.append([indexx, INDEXX])
现在我们创建一个由零组成的网格:grid = np.zeros((len(arr[0]),len(arr)))
我们将这个充满零的网格的值更改为1,在我们检查的特定颜色中有一个像素:for eachhh in featurepixels:
grid[eachhh[1],eachhh[0]] = 1
然后,我们创建具有相同颜色的像素的颜色映射,有效地选择图片的该部分:plt.figure()
plt.pcolormesh(grid)
把这些放在一起:!wget https://i.stack.imgur.com/SJxo3.png
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
img = Image.open('SJxo3.png').convert('RGBA')
arr = np.array(img)
colors=set()
for eachH in arr:
for eACH in eachH:
colors.add(tuple(eACH.tolist()))
for index, each in enumerate(colors):
if index < 30: # for debugging
color=[]
for EACH in each:
color.append(EACH)
boolarr=[]
for eachinarr2 in [arr == color]:
boolarr.append(eachinarr2)
featurepixels=[]
for indexx, eachh in enumerate(boolarr[0]):
for INDEXX, EACHH in enumerate(eachh):
if EACHH.all() == True:
featurepixels.append([indexx, INDEXX])
grid = np.zeros((len(arr[0]),len(arr)))
for eachhh in featurepixels:
grid[eachhh[1],eachhh[0]] = 1
plt.figure()
plt.pcolormesh(grid)
从这里你可以创建不同的颜色组,这样更多的像素将被归类为同一个特征。在当前的版本中,像素颜色的一个微小差异导致它被归类为一个单独的特征。所以我建议创建那些颜色组/类别。或者使用颜色较少的图像,而单个特征只包含相同的颜色。希望这有帮助。在
opencv python3 找图片色块_OpenCV中色块的检测与标注相关推荐
- opencv python3 找图片色块_Python 图像处理 OpenCV (3):图像属性、图像感兴趣 ROI 区域及通道处理...
前文传送门: 图像属性 图像属性包括行数,列数和通道数,图像数据类型,像素数等. 1. 形状:shape 图像的形状可以通过 shape 关键字进行获取,使用 shape 关键的后,获取的信息包括行数 ...
- opencv python3 找图片色块_如何使用OpenCV在Python中找到图像的平均颜色?
如何修复错误 导致此错误的原因有两个: >文件名拼写错误. >图像文件不在当前工作目录中. 要解决此问题,您应确保文件名拼写正确(以大小写敏感检查)并且映像文件位于当前工作目录中(此处有两 ...
- opencv python3 找图片色块_在python3下使用OpenCV 抓取摄像头图像提取蓝色
工作中需要对摄像头进行调试, Python平台大大提高调试效率. 从网找到段代码, 可以从摄像头图像中抠出蓝色. import cv2 import numpy as np cap = cv2.Vid ...
- opencv python3 找图片不同_基于OpenCV-python3实现抠图
简述 在上一篇博客进行了证件照更换背景颜色,纯蓝色,红色,白色之间的替换,有人私信我,可以不可以把背景换成其他图片,而不是单纯的颜色填充.这在photoshop里面就是选中一个图层然后复制到另外一张图 ...
- opencv python3 找图片不同_如何使用OpenCV快速寻找定位图像差异
原标题:如何使用OpenCV快速寻找定位图像差异 如何使用结构相似性指数(SSIM)将两个图像与Python进行比较. 使用这种方法,我们能够轻松确定两个图像是否相同或由于轻微的图像处理,压缩伪像或有 ...
- 【opencv】在图片上画角并且进行角度检测
[opencv]在图片上画角并且进行角度检测 import cv2 import mathpath ='test.jpg' img = cv2.imread(path) pointsList = [] ...
- 《OpenCv视觉之眼》Python图像处理十六:Opencv图像处理实战一之图像中的硬币检测
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
- opencv 截取图片一部分_Opencv中如何实现图像截取
最近看美剧 <TELL LIE TO ME>,对里边的一些东西非常感兴趣,具体就是摄像头目录然后会自动截取眼睛的图像到另外一个屏幕,想用OPENCV实现下. 自己开始使用OPENCV对很多 ...
- 基于OpenCV实现对图片及视频中感兴趣区域颜色识别
最新文章
- 单精度和半精度混合训练
- 微信授权获取用户的openid和支付宝授权获取用户的userid
- 《VMware vCAT权威指南:成功构建云环境的核心技术和方法》一3.6 vCloud计量
- 修复Eclipse在Mac OSX下启动时卡住问题
- [转载]找回被误删的VISTA“显示桌面”图标
- spark 数据存储
- 日期减三个月oracle_ORACLE 日期加减操作
- MySQL—隔离级别
- leetcode 1024. 视频拼接(dp/贪心)
- 基于Java的汽车租赁系统
- ES6学习笔记 -- 尾调用优化
- 全志android编译过程
- Gh0st整理资料1
- Android获取分辨率和像素密度
- win10一根网线连接linux,win10系统使用一根网线连接两台电脑的操作方法
- 细说容灾备份的等级和技术
- 什么是SQL注入攻击以及如何防止SQL注入攻击
- 《实时控制软件设计》第一次编程作业
- Python基础嘚吧嘚
- 看百度搜索的变易之道:AI引领的新搜索时代丨Xtecher 观察
热门文章
- css 蒙版_简单CSS蒙版:创建图像小插图
- ARM上裸奔的跑马灯程序
- 未来鸿蒙能搭载oppo手机吗,【喂你播】华为下周发布鸿蒙手机系统;OPPO联合蔚来完成CCC2.0标准数字车钥匙开发...
- C++ char类型转string类型的两种方法
- 英语 -wise 后缀
- PPC挑战上网本 多普达Touch HD使用评测
- polly php实例,亚马逊Amazon Polly文本转换语音PHP简明调用示例
- 年月日时分秒的日期格式是
- HTML5画布(图像)
- docker基础(17):Docker网络之Docker0