如何将图像黑色转换为白色,反之亦然

Sam*_*Sam 4 matlab image image-processing

我有一个黑色和白色的jpg图片,我想将黑色部分转换为白色和白色到黑色(黑色像素到白色,反之亦然)MATLAB并再次将其保存为jpg文件.我试过这段代码,但它只是在白页中给我一条黑线.

 im=imread('Export0000009111.jpg');
 binstring = dec2bin(im, 8);

 binImage = ~binstring;
 binImage = 1-binImage;
 binImage = (binImage == 0);
 imwrite(binImage,'ss1.png');
Run Code Online (Sandbox Code Playgroud)

有人有任何适当的解决方案吗?

提前致谢!

Div*_*kar 5

代码 -

PATHNAME = 'Random.jpg'; %// Original image file
PATHNAME1 = 'RandomModified.jpg'; %// Modified image file

imwrite(uint8(255 - imread(PATHNAME)),PATHNAME1)
figure, imshow(imread(PATHNAME1))
Run Code Online (Sandbox Code Playgroud)

当您阅读图像时,通常它们是2D或3D矩阵,其值介于0到255之间,0表示黑色,255表示白色.所以,我们只需要从255减去每个像素值.这将完成你的工作,将为灰色图像创建负像,如果我可以发明这样的术语,彩色图像会给人一种"彩色负面"的感觉.