matlab中如何将灰度图转化为二值黑白图像?敬请各位大侠指点!
2个回答
展开全部
以前用Matlab做过对图片和音频以及视频的水印算法研究,所以有一些了解。你也知道灰度图是用不同等级的灰度来显示整个图像,儿二值黑白图像里面只存在黑白两色,使用Matlab对现有图像进行处理的时候,如果对象是一个彩色图像,将会创建一个三维矩阵,如果是一个灰度图像,则创建一个二位矩阵,因为使用二维矩阵就能完全记录灰度图像像素信息。
如果对象是彩色的图像,生成的三维矩阵基本结构是这样的,按照RGB模式分成三层,其中R、G、B各占一层,单独将每一层拿出来显示都是灰度图,而常见图像一般都是点阵图像,每一个像素都需要用RGB模式来记录数据,如(255,255,255)就是白,(0,0,0)就是黑,我们的三维矩阵中R二位矩阵记录的就是所有像素点得R色数据记录,自然G、B层二维矩阵就是记录的所有像素点的G分色信息和B分色信息
如果源数据是彩色图像,则你只需要拿出一个二位矩阵,然后将这个二维矩阵的元素数据进行修改,将所有的点进行判断,如果大于128,则将此点数据赋值为255,如果小于128,则全部赋值为0,如此所有的像素点的数据就仅限于0和255,显示出来就是二值黑白图像
如果源数据是灰度图像,就更简单了,直接修改即可
基本原理就是这样的,matlab是一个很好用的工具,祝顺利,如果还有疑问,随时联系
如果对象是彩色的图像,生成的三维矩阵基本结构是这样的,按照RGB模式分成三层,其中R、G、B各占一层,单独将每一层拿出来显示都是灰度图,而常见图像一般都是点阵图像,每一个像素都需要用RGB模式来记录数据,如(255,255,255)就是白,(0,0,0)就是黑,我们的三维矩阵中R二位矩阵记录的就是所有像素点得R色数据记录,自然G、B层二维矩阵就是记录的所有像素点的G分色信息和B分色信息
如果源数据是彩色图像,则你只需要拿出一个二位矩阵,然后将这个二维矩阵的元素数据进行修改,将所有的点进行判断,如果大于128,则将此点数据赋值为255,如果小于128,则全部赋值为0,如此所有的像素点的数据就仅限于0和255,显示出来就是二值黑白图像
如果源数据是灰度图像,就更简单了,直接修改即可
基本原理就是这样的,matlab是一个很好用的工具,祝顺利,如果还有疑问,随时联系
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询