matlab旋转灰度图片后去除黑色边角

    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的像素点,之后再恢复。

你可能感兴趣的:(matlab旋转灰度图片后去除黑色边角)