السلام عليكم
كيفكم مهندسينا ومهندساتنا =)
الله يرضى عليكم ممكن تساعدوني بشغله بسيطة بس مجننتني لي اسبوع
أحاول أحلها >> اجل كيف صارت بسيطة
عموما الكود بتاعي شغلته يحسب تباين الصورة من خلال هالمعادلة:
con(x,y)= fmax- fmin/ fmax + k
where fmax(x, y) and fmin(x, y) refer to the maximum and
the minimum image intensities within a local neighborhood
window.
K is a positive but infinitely small number,
which is added in case the local maximum is equal to 0.
Con(x, y) denotes the contrast value of the estimating pixel
(x, y).
وهذي محاولاتي مع الكود
imag=imread('be.png');% any greysecal image
imag = imag( :, :, 1);
[h, w] = size(imag);
b=80;%size of window
imag = padarray(imag, [b b], 'symmetric', 'both');
for I=1+b : b : h+b
for J=1+b : b : w+b
Win=imag(I:I+b,J:J+b);
if max(Win(:)) == 0
con(I:J+b,J:J+b)=(max(Win(:))- min(Win(:))) \ max(Win(:))+1;% k=1 when largest contrast in window=0
else
con(I:J+b,J:J+b)=(max(Win(:))+ min(Win(:)) \ max(Win(:)));
end
end
end
الخطأ اللي يواجهني : أن قيم con تنحسب كأعداد صحيحه مقربة !!
يعني لو طلعت القيمة من المعادلة 0.111
يحسبها 0 !!
كيف أخليه يحسبها لي كأعداد بفواصل بدون ما يقرب ويسوي نفسه قدع وفاهم =|
الله يعطيكم ألف عافية
انتظر مساعداتكم =)