我有一个像素值范围从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)
我一直在我的代码的“set”部分出错,我认为我没有正确使用但我无法从帮助部分辨别出原因。如果有人能告诉我究竟做错了什么,或者提出了另一种方法来实现我的极端对比增加,我会非常感激。
编辑:所以我只是尝试重新运行程序,现在没有出现错误,但div(X,Y)没有改变,并且set()函数没有做任何事情。我得知最终的图像与原始图像相同,并且不确定为什么会这样。答案 0 :(得分:1)
您的if
需要end
s。
您是否在代码的第一部分中正确分配,然后由于某种原因转移到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,听起来就像你正在寻找的那样。