【发布时间】:2012-11-12 21:00:22
【问题描述】:
我已经有了这个:
function [h] = histImage (img)
nPix = numel(img);
h = accumarray( img (:)+1 , ones(nPix,1)/nPix, [256 1] , @sum,0)
此函数会将给定 img 的灰度直方图返回到 1X256 向量中
现在我想构建这个函数:
输入:img - 愤怒中的灰度图像矩阵 [0..255]
windowSize - 一个 1x2 数组 [r c] 行和列。
输出: histArray 3d matrix for each i,j the 1D array histArray(i,j,:) 是大小为 WindowSize 的 img 的直方图,其左上角为 (i,j)
函数 [histArray] = localHistograms (img,windowSize)
histArray = zeros(windowSize(1),WindowSize(2),256);
对于 i = 1:windowSize(1)
对于 j = 1:windowSize(2)
histArray(i,j,:) = histImage(img( i:windowSize(1), j:windowSize(2) ))
结尾
结尾
结尾
这是我到目前为止所拥有的,你能告诉我我的错误吗? 我如何检查我的错误?随便输入一些图片?
【问题讨论】:
-
有什么问题吗?
-
我认为我没有得到正确的价值观。我是图像处理的新手。检查我是否正确的最简单方法是什么?
-
制作一个窗口大小的图像,以便您确切知道结果应该是什么。
-
你使用 Photoshop 还是只使用矩阵/向量
-
你只是把一个矩阵放在一起。您可以单独指定所有值,或使用
magic(3)之类的东西来创建指定的 3x3 数组。
标签: image matlab image-processing