【问题标题】:greycomatrix for RGB image用于 RGB 图像的 graycomatrix
【发布时间】:2018-12-12 19:53:58
【问题描述】:

我正在尝试使用 graycomatrix 在图像中找到对比度,代码如下:

import cv2
import numpy as np
from scipy import misc
from skimage.feature import greycomatrix, greycoprops


img=cv2.imread('leaf2.jpg')


g=greycomatrix(img, [1], [0, np.pi/4, np.pi/2, 3*np.pi/4])
print (g)

contrast = greycoprops(g, 'contrast')
print(contrast)

这是错误:“图像必须是二维数组” 如何将图像转换为二维数组,适合函数?

【问题讨论】:

  • OpenCV is skimage 之间的转换并不难,但您需要注意一些细微之处。我建议使用以下内容:from skimage import io, color; img = io.imread('leaf2.jpg'); img = color.rgb2gray(img)

标签: python opencv image-processing scikit-image glcm


【解决方案1】:

加载图像后添加img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY),使其成为单通道灰度图像。

或者您也可以通过img = cv2.imread('leaf2.jpg', cv2.IMREAD_GRAYSCALE) 直接将其加载为灰度。

【讨论】:

  • 我试过这样做,但它给出了一个所有条目都为 0 的矩阵。这会给出正确的对比度吗?
  • @MuskanBansal 哪个矩阵只有 0,你怎么知道?如果您的矩阵很大,print 函数只会显示矩阵的一小部分。
【解决方案2】:

你可以通过img=cv2.imread('leaf2.jpg',0)直接加载灰度

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2014-04-27
    • 1970-01-01
    • 2012-04-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多