【发布时间】:2010-11-16 10:54:30
【问题描述】:
我知道颜色矩阵的使用。但这适用于整个图像。有什么方法可以只处理图像的一部分而不是整个图像。
例如,我想只给出图像边界区域的亮度。
我正在使用 c#。
【问题讨论】:
标签: c# vb.net image-processing gdi+ colormatrix
我知道颜色矩阵的使用。但这适用于整个图像。有什么方法可以只处理图像的一部分而不是整个图像。
例如,我想只给出图像边界区域的亮度。
我正在使用 c#。
【问题讨论】:
标签: c# vb.net image-processing gdi+ colormatrix
鉴于 ColorMatrix 仅适用于单个颜色矢量/像素,“所有”您需要做的就是仔细选择像素,使其符合您的标准。
已经有一段时间了,但是如果您逐行扫描像素,则可以转换整个第一行和最后 n 行以及所有其他行的第一列和最后 n 列。
【讨论】:
如果:
位图 bitmap2 = new Bitmap(bitmap1.Width, bitmap1.Height); //将bitmap1复制到bitmap2 Graphics.FromImage(bitmap2).DrawImage(bitmap1, 0, 0); //使用自己的图像属性(ColorMatrix等)将bitmap1的一部分复制到bitmap2 Graphics.FromImage(bitmap2).DrawImage(bitmap1, new Rectangle(100, 50, 20, 20), 100, 50, 20, 20, GraphicsUnit.Pixel, yourImageAttributes);
如果你只想要边框,你可以先改变整个图像,然后将原始图像的矩形复制到里面。
【讨论】: