WSJ116522190 发表于 2007-6-4 00:02

关于图象的权数/灰度变换的问题

引用论文中的话:"Q(i)为灰度级的权数。根据Q值,对相应的灰度间隔进行调整,Q值越大,分配到的灰度间隔也越
大。依此构造出灰度变换表,对图像进行变换。"

我已经算出Q(i)了 是一个256个数的矩阵
但是后面的程序不会写
请大侠们帮忙写下 谢谢了
明天12点就要交程序,大家帮帮忙

[ 本帖最后由 eight 于 2007-6-4 11:08 编辑 ]

WSJ116522190 发表于 2007-6-4 11:05

朋友们,给点提示也行
谢谢了

WSJ116522190 发表于 2007-6-4 21:45

请教一个关于灰度变换/图象重建的问题

我知道一个1x256的矩阵Q(i)
我又得到了一张灰度图象 是323x147的矩阵P(i)

我要做的工作是:
→灰度变换 依次读取P(i)中的各个元素 如果这个元素的灰度是25
那么就乘上Q(25)
这个就可以得到了另一个矩阵了
再根据新的矩阵 画一张灰度图


我是一个新手,求出Q(i)就用了好几天
我研究这个也好几天
一直没弄出来
所以借贵地借问下高手
我该用什么语句?
该怎么做:handshake

spano 发表于 2007-6-5 10:02

做2个循环,然后用
P(i,j)*Q(P(i,j))
应该就可以了

WSJ116522190 发表于 2007-6-5 11:47

P是我从图象中读出的灰度表
应该怎么确定他的坐标(i,j)
该怎么定义呢?

spano 发表于 2007-6-5 12:02

直接用图像中的灰度值元素就可以啊,如果你得到的P是一维的,就用P(i)*Q(P(i)),跟二维一样的

WSJ116522190 发表于 2007-6-5 12:19

看看我的程序

%先用循环求出Q(i)
for i=1:256
    if i<64
      N(i)=8+(-3/32)*i;
Fd(i)=0;
      else if i>192
                N(i)=(1/64)*i-1;
Fd(i)=1;
                else if 64<i<192
                        N(i)=2;
Fd(i)=i/128-0.5;
                  end
            end
      end
Fr(i)=N(i)/8;
   Q(i)=Fr(i)*Fd(i);
end
%再进行灰度变换
I=imread('D:\学习\7.bmp');
for i=0:255
for j=0:255
M=I(i,j)*Q(I(i,j))


Index into matrix is negative or zero.See release notes on changes to
logical indices.

是什么意思?谢谢

WSJ116522190 发表于 2007-6-5 12:20

我可以求出Q(i)
所以前面应该没什么问题 就是后面可能有大问题

spano 发表于 2007-6-5 13:39

下标问题,下标可能为虚数或者复数。
写的有些乱,你的图片路径最好不要用中文的;另外你的图片大小能确定是256*256的?

[ 本帖最后由 spano 于 2007-6-5 13:41 编辑 ]
页: [1]
查看完整版本: 关于图象的权数/灰度变换的问题