이미지 향상을 시도하고 있습니다. 여기서는 먼저 rgb 이미지를 hsi 이미지로 변경 한 다음 강도의 히스토그램 평준화를 수행합니다. 히스토그램 평준화에 대해서, 먼저 픽셀의 pdf를 찾은 다음 cmf입니다. 그러나, 나는 cmf의 균등화를하는 방법을 모른다. 나는 웹 사이트를 검색했으며, 대부분 cmf * 255를 만들고 있지만 이미지와 어떻게 맵핑되는지 이해할 수 없습니다.matlab과 함께 히스토그램 평준화
histogram=imhist(I);//the intensity histogram
s=sum(histogram(:));
pdf=histogram/s;
cmf(1)=pdf(1);//calculate the cmf
for i=2:1:256
cmf(i)=pdf(i)+cmf(i-1);
map_value(i)=round(cmf(i).*255);//try to scale the level
end
//following I reference the code on website
for i=1:image_row
for j=1:image_column
new_image(i,j)=map_value(I(i,j)+1);
end
end
그러나 참조 부분에서 "첨자 인덱스는 실수 양수 또는 논리이어야합니다."를 보여줍니다. 새로운 이미지와 equlization 히스토그램 사이의 오류에 대해서는 잘 모릅니다. 아무도 나에게 어떤 생각을 줄 수 있습니까?
덧붙여서 나는 코드를 시도했다 https://angeljohnsy.blogspot.com/2011/04/matlab-code-histogram-equalization.html 그러나 코드는 freq (value + 1) = freq (value + 1) +1에서 작동하지 않는다.
앞서 변수를 초기화해야합니다. 메모리를 적게 차지하고 시간도 단축되며 코드가보다 안전 해집니다. 예를 들어,'new_image = 0 (image_row, image_column); – Bentoy13