Replace pixels in a matrix without using histeq

조회 수: 2 (최근 30일)
Chrissie Nyssen
Chrissie Nyssen 2019년 7월 17일
댓글: Chrissie Nyssen 2019년 7월 17일
I have a greyscale image that is 291 x 240. I have been tasked with performing histogram equalization but WITHOUT using histeq. We have been told to use a nested for loop to access each pixel individually (yes, I KNOW that this is not ideal) and replace each value by a lookup table value, T. T is an array of 256 values in the range 0 - 255.
Here is the loop , but apparently the code in the loop does not produce the correct answer. Can anyone please suggest how else I apply T to the pixel I want to transform.
for i = 1:1:r %go through rows
for j = 1:1:c %columns
img_heq(i, j) = intlut(img (i,j), uint8(T));
end
end
  댓글 수: 1
Chrissie Nyssen
Chrissie Nyssen 2019년 7월 17일
Sorry if this seems a trivial question but I am new to MATLAB and getting no help from elsewhere. All suggestions will be gratefully received and tried.

댓글을 달려면 로그인하십시오.

채택된 답변

Jan
Jan 2019년 7월 17일
for i = 1:1:r %go through rows
for j = 1:1:c %columns
img_heq(i, j) = T(img(i,j) + 1);
end
end
  댓글 수: 3
KALYAN ACHARJYA
KALYAN ACHARJYA 2019년 7월 17일
편집: KALYAN ACHARJYA 2019년 7월 17일
@Jan Ohh look up table T is already given, which use to map the image, right..
Chrissie Nyssen
Chrissie Nyssen 2019년 7월 17일
Thank you both for your suggestions. I tried Jan's one, the output image and histogram looked right but unfortunately the autograder is still not accepting my answer :( but TY anyway. I will fiddle around with it some more.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by