我有一个二进制图像,需要将所有的黑色像素转换为白色像素,反之亦然。然后我需要将新图像保存到文件中。有没有办法做到这一点,而不是简单地遍历每个像素并翻转其价值?如何在MATLAB中反转二进制图像?
回答
如果你只用零和一的二进制图像binImage
,有一些简单的方法来得到反效果:
binImage = ~binImage;
binImage = 1-binImage;
binImage = (binImage == 0);
然后,只需使用功能IMWRITE保存倒影。
非常感谢。 – 2011-03-11 19:18:51
您可以使用imcomplement
matlab函数。说你有B,则二值图像,
bc = imcomplement(b); % gives you the inverted version of b
b = imcomplement(bc); % returns it to the original b
imwrite(bc,'c:\...'); % to save the file in disk
[文件名,路径名] = uigetfile({ '* BMP。'}, '文本作为图像');
img=imread(filename);
img=im2double(img);
[r,c,ch]=size(img);
%imshow(img);
invert_img=img;
if(ch==1)
for i=1:r
for j=1:c
if(invert_img(i,j)==0)
invert_img(i,j)=1;
else
invert_img(i,j)=0;
end
end
end
end
与前面介绍的解决方案相比,这是一个非常低效的解决方案,甚至不考虑所请求的图像保存。 – mikkola 2015-11-30 17:29:08
在Matlab中,通过使用not
我们可以1的转换成0和0到1的。
inverted_binary_image = not(binary_image)
'not'函数在使用'〜'运算符时正是所谓的。 – gnovice 2017-11-01 16:13:18
- 1. 在Matlab中将二进制图像转换为灰度图像
- 2. 如何在MATLAB中乘以二进制图像和RGB图像?
- 3. 如何反转灰度图像并将其转换为二进制图像?
- 4. 如何用matlab可视化二进制文件像图像?
- 5. 在Matlab中反转和切割图像
- 6. 试图反转二进制图像给我全黑屏
- 7. 如何在iOS中将图像转换为二进制格式?
- 8. 转换二进制值位图图像
- 9. 在OpenCV中将灰度图像转换为二进制图像
- 10. rgb图像在java中转换二进制图像bufferedImage
- 11. Matlab在二进制图像中查找内部轮廓?
- 12. Matlab,在二进制图像中放大非均匀物体
- 13. 在matlab中的二进制图像连接破碎的圆圈?
- 14. 如何将十进制转换成二进制,反之亦然
- 15. 如何在MATLAB中编辑图像的轴以反转方向?
- 16. Matlab二维图 - 二进制显示轴
- 17. 如何将图像转换为android中的base64二进制值?
- 18. 如何将位图图像转换为android中的二进制图像?
- 19. 转换为图像的二进制WPF;
- 20. 将图像转换为二进制数组和二进制数组转换为java中的图像
- 21. 转换9.2532十进制转换成二进制MATLAB
- 22. MATLAB:从二进制图像中分割单个字母
- 23. 在julia中读取二进制图像
- 24. 绘制或选择二进制图像中的第n个像素MATLAB
- 25. 如何通过imagemagick二进制转换提高图像质量?
- 26. 如何将二进制数据转换为图像?
- 27. 计算机如何将图像转换为二进制文件?
- 28. 这个C代码如何在原地反转二进制树?
- 29. 十六进制为二进制和十进制在matlab中
- 30. 在MATLAB中转换图像
向我们展示一些代码! – Benjamin 2011-03-11 18:49:02
这取决于[你正在处理什么样的图像](http://www.mathworks.com/help/techdoc/creating_plots/f2-10709.html)(RGB,索引,灰度,二进制),但是答案可能已经在这里覆盖:[我如何反转灰度图像并将其转换为二进制图像在MATLAB?](http://stackoverflow.com/questions/2980860/how-do-i-invert-a-灰度图像,并将它转换为二进制图像在MATLAB中) – gnovice 2011-03-11 18:49:03
@gnovice我正在处理二进制图像。我想要移动图像中的所有像素,并将0改为1,反之亦然,但我不是Matlab专家,我不知道如何去做。感谢您的回复。 – 2011-03-11 18:55:30