我要处理的是车牌图片,已经剪切好是79*28的图象。
要求对其进行不均匀照度处理
MATLAB不是太懂,代码如下:
car0 = imread('car.jpg');%car.jpg是79*28
car1 = im2double(car0); % Convert to double precision
car2 =rgb2gray(car1);转换成灰度图处理
imshow(car0)
figure,
imshow(car2)
bg32 = blkproc(car2,[32 32],'min(x(:))');
bg7928 = imresize(bg32 ,[79 28], 'bicubic');
imshow(bg7928)
d = car2 - bg7928;%d = imsubtract(car2,bg7928)
imshow(d,[])
adjusted = imadjust(d, [0 max(d(:))], [0 1], 1);
imshow(adjusted)
只是参照MATLAB中的DEMO写的,但是实现不了,很烦,多多指点,在此谢过,
可以[email protected]交流。
要求对其进行不均匀照度处理
MATLAB不是太懂,代码如下:
car0 = imread('car.jpg');%car.jpg是79*28
car1 = im2double(car0); % Convert to double precision
car2 =rgb2gray(car1);转换成灰度图处理
imshow(car0)
figure,
imshow(car2)
bg32 = blkproc(car2,[32 32],'min(x(:))');
bg7928 = imresize(bg32 ,[79 28], 'bicubic');
imshow(bg7928)
d = car2 - bg7928;%d = imsubtract(car2,bg7928)
imshow(d,[])
adjusted = imadjust(d, [0 max(d(:))], [0 1], 1);
imshow(adjusted)
只是参照MATLAB中的DEMO写的,但是实现不了,很烦,多多指点,在此谢过,
可以[email protected]交流。
将bg7928 = imresize(bg32 ,[79 28], 'bicubic');改成bg7928 = imresize(bg32 ,[28 79]);将d = car2 - bg7928;改成d = car0 - bg7928;改这句是因为要从初始图象中减去背景图象。
但是还是在d = car0 - bg7928;执行后出现问题,提示说是,图象的矩阵大小仍然不匹配。郁闷!
如果装有MATLAB的话,能帮忙运行一下,查找问题根本所在就好,谢谢!
d = car2 - bg7928就可以了。
bg7928 = imresize(bg32 ,[28 79]);将d = car2 - bg7928
这句生成的图像被改成了[28,29],这样d = car0 - bg7928 ,的确是图象的矩阵大小不匹配。
bg32 = blkproc(car2,[32 32],'min(x(:))'),这句是块操作,应该不需要改。
我找了张图运行了下,可以运行,但是效果并不怎么样。