首页 > 解决方案 > 我不能在 cv2.imshow() 中检查图像数组的整个或特定像素值吗?

问题描述

MATLAB 允许我立即检查每个变量的矩阵分量值,因此当我调用图像时很容易检查每个像素的值imread

当我点击上的图片时imshow,我可以立即看到坐标和坐标的像素值,但是我不知道当我切换到Python时如何检查这些值。

我无法单击图像,我看不到数组...

听说你用 Python 做图像处理的比较多,所以我试着学习了下,不过好像比 MATLAB 更难受。我认为这是因为我还不知道如何使用 Python。

标签: pythonopencv

解决方案


如果您想要更多的 MATLAB 外观和感觉,请使用Matplotlib 。这是一个结合 OpenCV 进行图像读取的小示例:

import cv2
from matplotlib import pyplot as plt

# Read image via OpenCV
img = cv2.imread('path/to/your/image.png')

# Attention: OpenCV uses BGR color ordering per default whereas
# Matplotlib assumes RGB color ordering!
plt.figure(1)
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()

这是生成的窗口的屏幕截图(Windows 10):

截屏

看看右下角。您在屏幕截图中看不到光标,但它设置在帽子的左上角(x = 120,y = 5),并且 RGB 值正确指示(主要)红色。

一般来说:在“Python for MATLAB users”上搜索一下!有很多教程专注于此!

希望有帮助!

-----------------------
System information
-----------------------
Python:      3.8.1
Matplotlib:  3.2.0rc1
OpenCV:      4.1.2
-----------------------

推荐阅读