1

我有一个像素值范围为 0 到 255 的图像,并希望将以下条件应用于图像。如果像素值小于 X 将值设置为 0,如果像素值大于 X 将值设置为 1。

我试图通过使用以下代码来做到这一点,但没有成功。

for Y = 1:682
for X = 1: 511
div(X,Y) = myimage(X+1, Y+1) - myimage(X,Y)
end
end

if div(X,Y) < 100 %X being 100 in this circumstance
set(0)
if div(X,Y) > 100
set(1)

我的代码的“设置”部分不断出现错误,我认为我使用不正确,但我无法从帮助部分辨别原因。如果有人能告诉我我到底做错了什么,或者建议一种替代方法来完成我的极端对比度增加,我将非常感激。

编辑:所以我只是尝试重新运行程序,现在没有出现错误,但 div(X,Y) 没有改变,并且 set() 函数没有做任何事情。我得到最终图像与原始图像相同,但不确定为什么会这样。

4

1 回答 1

1

if的 s 需要ends。

您在代码的第一部分正确分配,然后set出于某种原因转移到?set不用于你正在使用的东西。

if div(x,Y) < 100 %X being 100 in this circumstance
myimage(x,Y)=0;
end
if div(x,Y) > 100
myimage(x,Y)=255;
end

我冒昧地将您的高对比度值更改为 255,这听起来像是您正在寻找的。

于 2013-06-17T17:02:58.413 回答