我在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中色块的检测与标注相关推荐

  1. opencv python3 找图片色块_Python 图像处理 OpenCV (3):图像属性、图像感兴趣 ROI 区域及通道处理...

    前文传送门: 图像属性 图像属性包括行数,列数和通道数,图像数据类型,像素数等. 1. 形状:shape 图像的形状可以通过 shape 关键字进行获取,使用 shape 关键的后,获取的信息包括行数 ...

  2. opencv python3 找图片色块_如何使用OpenCV在Python中找到图像的平均颜色?

    如何修复错误 导致此错误的原因有两个: >文件名拼写错误. >图像文件不在当前工作目录中. 要解决此问题,您应确保文件名拼写正确(以大小写敏感检查)并且映像文件位于当前工作目录中(此处有两 ...

  3. opencv python3 找图片色块_在python3下使用OpenCV 抓取摄像头图像提取蓝色

    工作中需要对摄像头进行调试, Python平台大大提高调试效率. 从网找到段代码, 可以从摄像头图像中抠出蓝色. import cv2 import numpy as np cap = cv2.Vid ...

  4. opencv python3 找图片不同_基于OpenCV-python3实现抠图

    简述 在上一篇博客进行了证件照更换背景颜色,纯蓝色,红色,白色之间的替换,有人私信我,可以不可以把背景换成其他图片,而不是单纯的颜色填充.这在photoshop里面就是选中一个图层然后复制到另外一张图 ...

  5. opencv python3 找图片不同_如何使用OpenCV快速寻找定位图像差异

    原标题:如何使用OpenCV快速寻找定位图像差异 如何使用结构相似性指数(SSIM)将两个图像与Python进行比较. 使用这种方法,我们能够轻松确定两个图像是否相同或由于轻微的图像处理,压缩伪像或有 ...

  6. 【opencv】在图片上画角并且进行角度检测

    [opencv]在图片上画角并且进行角度检测 import cv2 import mathpath ='test.jpg' img = cv2.imread(path) pointsList = [] ...

  7. 《OpenCv视觉之眼》Python图像处理十六:Opencv图像处理实战一之图像中的硬币检测

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  8. opencv 截取图片一部分_Opencv中如何实现图像截取

    最近看美剧 <TELL LIE TO ME>,对里边的一些东西非常感兴趣,具体就是摄像头目录然后会自动截取眼睛的图像到另外一个屏幕,想用OPENCV实现下. 自己开始使用OPENCV对很多 ...

  9. 基于OpenCV实现对图片及视频中感兴趣区域颜色识别

最新文章

  1. 单精度和半精度混合训练
  2. 微信授权获取用户的openid和支付宝授权获取用户的userid
  3. 《VMware vCAT权威指南:成功构建云环境的核心技术和方法》一3.6 vCloud计量
  4. 修复Eclipse在Mac OSX下启动时卡住问题
  5. [转载]找回被误删的VISTA“显示桌面”图标
  6. spark 数据存储
  7. 日期减三个月oracle_ORACLE 日期加减操作
  8. MySQL—隔离级别
  9. leetcode 1024. 视频拼接(dp/贪心)
  10. 基于Java的汽车租赁系统
  11. ES6学习笔记 -- 尾调用优化
  12. 全志android编译过程
  13. Gh0st整理资料1
  14. Android获取分辨率和像素密度
  15. win10一根网线连接linux,win10系统使用一根网线连接两台电脑的操作方法
  16. 细说容灾备份的等级和技术
  17. 什么是SQL注入攻击以及如何防止SQL注入攻击
  18. 《实时控制软件设计》第一次编程作业
  19. Python基础嘚吧嘚
  20. 看百度搜索的变易之道:AI引领的新搜索时代丨Xtecher 观察

热门文章

  1. css 蒙版_简单CSS蒙版:创建图像小插图
  2. ARM上裸奔的跑马灯程序
  3. 未来鸿蒙能搭载oppo手机吗,【喂你播】华为下周发布鸿蒙手机系统;OPPO联合蔚来完成CCC2.0标准数字车钥匙开发...
  4. C++ char类型转string类型的两种方法
  5. 英语 -wise 后缀
  6. PPC挑战上网本 多普达Touch HD使用评测
  7. polly php实例,亚马逊Amazon Polly文本转换语音PHP简明调用示例
  8. 年月日时分秒的日期格式是
  9. HTML5画布(图像)
  10. docker基础(17):Docker网络之Docker0