matlab函数imrotate对灰度图像进行旋转后周围像素会用纯黑填充,想要用白色填充该怎么办呢?
1.如果是彩色图像要转灰度图
im=rgb2gray(imread('aaa.jpg'));
2.将所有像素减去1,然后旋转45度。旋转时不要指定插值方法。
im2 = im-1;
im3 = imrotate(im2,45);
3.将所有像素值为0(黑色)的像素,赋值为255(白色);然后所有像素加1。
im3(im3==0)=255;
im3 = im3+1;
这个处理过程对灰度图像像素是否有损?有!,原图中颜色为0(黑色)的会变成1,变淡了点。如果想完善一点,可以想办法记录像素为0的像素点,之后再恢复。