图像反转的小工具用得多了,MATLAB 的这一套方法还挺顺手的。ImageInversion项目专门搞灰度反转,核心逻辑简单,就是把图像的亮的变暗,暗的变亮。用起来嘛,要么用imadjust来调灰度范围,要么直接上bitwise_not做位运算,思路清晰、操作顺畅。

你只要导入图像,用个函数一转,前后对比一下,反差立马出来。尤其在做医学图像或天文图片的时候,反转一下信息量就丰富不少。嗯,代码也挺简洁:

im = imread('input_image.jpg');
invIm = imadjust(im,[0 1],[1 0]);
subplot(1,2,1), imshow(im), title('Original Image');
subplot(1,2,2), imshow(invIm), title('Inverted Image');

图像最好先转灰度哦,不然调出来色彩不太对。还有图像类型别弄错,uint8double来回切换,数据才不会炸。如果你手上有二值图,也可以试试bitwise_not,效率还挺高。

顺便一提,反转不一定是单独用的,跟直方图均衡化这些组合一下,效果更炸裂。如果你也在摸索 MATLAB 图像的套路,这个项目值得看看。