我正在开发一个项目,作为一个起点,以确定某些点的颜色,为此,我正在绘制这些图像的RGB颜色的三维图形。通过这个我已经确定了这些斑点的一些显著的颜色,如下所示。在

色彩是一种感知和主观解释的问题。这一步的目的是识别,这样你就可以找到一个没有不同解释的颜色模式。有了这个,我一直在互联网上搜索,为此,建议使用color space L * a * b *。在

有了这个,有人能帮我从颜色实验室得到这张图吗,或者指出另一种方法来更好地分类这些斑点的颜色?在

用于绘制三维图形的代码import numpy as np

import mpl_toolkits.mplot3d.axes3d as p3

import matplotlib.pyplot as plt

import colorsys

from PIL import Image

# (1) Import the file to be analyzed!

img_file = Image.open("IMD405.png")

img = img_file.load()

# (2) Get image width & height in pixels

[xs, ys] = img_file.size

max_intensity = 100

hues = {}

# (3) Examine each pixel in the image file

for x in xrange(0, xs):

for y in xrange(0, ys):

# (4) Get the RGB color of the pixel

[r, g, b] = img[x, y]

# (5) Normalize pixel color values

r /= 255.0

g /= 255.0

b /= 255.0

# (6) Convert RGB color to HSV

[h, s, v] = colorsys.rgb_to_hsv(r, g, b)

# (7) Marginalize s; count how many pixels have matching (h, v)

if h not in hues:

hues[h] = {}

if v not in hues[h]:

hues[h][v] = 1

else:

if hues[h][v] < max_intensity:

hues[h][v] += 1

# (8) Decompose the hues object into a set of one dimensional arrays we can use with matplotlib

h_ = []

v_ = []

i = []

colours = []

for h in hues:

for v in hues[h]:

h_.append(h)

v_.append(v)

i.append(hues[h][v])

[r, g, b] = colorsys.hsv_to_rgb(h, 1, v)

colours.append([r, g, b])

# (9) Plot the graph!

fig = plt.figure()

ax = p3.Axes3D(fig)

ax.scatter(h_, v_, i, s=5, c=colours, lw=0)

ax.set_xlabel('Hue')

ax.set_ylabel('Value')

ax.set_zlabel('Intensity')

fig.add_axes(ax)

plt.savefig('plot-IMD405.png')

plt.show()

python 色卡,如何使用opencv创建实验室色卡?相关推荐

  1. Python+OpenCV创建级联文件(Windows7/10环境)

    目录 1.搭建环境 2.准备数据集 3.训练级联文件 之前使用Python+OpenCV实现交通路标识别,具体实现步骤及心得如下: OpenCV训练属于自己的xml文件,需以下几个步骤: 1.首先下载 ...

  2. ndarray python 映射_191123 使用 Pybind11 和 OpenCV 创建 Python 库

    参观飞机工厂不能让你学得流体力学,也不能让你学会开飞机.然而如果你会开飞机又懂流体力学,参观飞机工厂可以带给你最大的乐趣和价值.-- 侯捷 献给 @AliceInt-ZLJ by Knight @20 ...

  3. OpenCV创建校准图案calibration pattern

    创建校准图案calibration pattern OpenCV创建校准图案calibration pattern 创建自己的图案 OpenCV创建校准图案calibration pattern 创建 ...

  4. opencv 创建图像_非艺术家的图像创建(OpenCV项目演练)

    opencv 创建图像 This project stemmed from my predilection of the visual arts - as a computing student, I ...

  5. Python的图像处理库(OpenCV,PIL,matplotlib和scikit-image)

      目前接触过的python图像处理代码涉及到多种的图像库,其中最常用的当属opencv和PIL.惭愧的是,以前只是拿来用,却一直迷惑为什么不同的代码会选择不同的图像库.这些图像库的联系和区别又是什么 ...

  6. 《OpenCv视觉之眼》Python图像处理十九:Opencv图像处理实战四之通过OpenCV进行人脸口罩模型训练并进行口罩检测

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

  7. 《OpenCv视觉之眼》Python图像处理二十三:OpenCV图像处理最终章之基于PyQt5的图像处理界面设计及功能实现

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

  8. 【Qt】在Qt中使用opencv,不要使用opencv创建窗口

    问题描述 在ubuntu14.04.5 Qt5.6中使用opencv创建窗口显示摄像头时,报错: (:1103): Gtk-WARNING **: gtk_disable_setlocale() mu ...

  9. Python使用SQLAlchemy连接数据库并创建数据表、插入数据、删除数据、更新表、查询表(CRUD)

    Python使用SQLAlchemy连接数据库并创建数据表.插入数据.删除数据.更新表.查询表(CRUD) 目录 Python使用SQLAlchemy连接数据库并创建数据表 #SQLAlchemy # ...

最新文章

  1. R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据
  2. Moore-Penrose广义逆:可解决MATLAB报错“矩阵接近奇异值,或者缩放错误。结果可能不准确”
  3. printf格式化字符串用法
  4. android查看存储占用,Android获取App内存使用情况的方法
  5. Request mapping url and handler registration
  6. Linux简单命令收录(who,echo,date)【上】
  7. c++ amp vs2017 报错_opencv4教程-1 opencv的安装与调试Windows10+vs2017
  8. super(Net,self).__init__() 的含义
  9. STM32+华为云IoTDA,带你设计一个属于自己的动态密码锁
  10. oracle打开dmp文件乱码,oracle中导入dmp字符乱码分析和解决方案
  11. SWAT模型在水文水资源、面源污染模拟中的实践技术
  12. rpg制作大师_在线RPG大师班
  13. 使用pdf编辑器如何旋转页面
  14. 2019PR怎么设置导出比特率?为什么我的PR导出的时候不能控制文件大小?为什么我的PR导出的文件特别大?
  15. php pc无法登录失败,window_win7系统在局域网共享文件提示登录失败用户账户限制的故障原因及解决方法,win7操作系统在局域网共享文件 - phpStudy...
  16. windows xp 安装python3.4.4(xp最高支持到3.4.4,后续版本不支持)
  17. 2022好用的便签记事日程提醒软件有哪些
  18. 派工单系统 源码_青鸟报修云酒店设备报修管理系统
  19. Zotero快速复制文献
  20. 无穷小进课堂,历史在召唤

热门文章

  1. CAN总线的8种常见故障及解决方法
  2. 还在手动测试?那是那还不知道Python自动化测试的强大之处
  3. 即时通讯整体解决方案
  4. Win10如何打开策略组(包括家庭版)
  5. 关于JsBarcode.all.js
  6. CANON佳能I6100故障错误代码和清零方法
  7. 1604_linux环境下使用命令行把网页转换成pdf
  8. 【DVB】DVB基本问题
  9. 深度行研:危机四伏的传统健身馆,如何杀出一条血路
  10. 编程求出大于m的最小素数。C# 方法实现