摘要: 击中击不中变换定义 击中击不中变换(HMT)需要两个结构元素B1和B2,合成一个结构元素对B=(B1,B2) 一个用于探测图像内部,作为击中部分;另一个用于探测图像外部,作为击不中部分。显然,B1和B2是不应该相连接的,即B1∩B2=Φ。击中击不中变换的数学表达式为: g(x, y)=hitmiss 阅读全文
posted @ 2018-04-04 09:18 微光-倾城 阅读(6146) 评论(0) 推荐(0) 编辑
摘要: 图像开运算与闭运算定义 二值图像开运算的数学表达式为: g(x, y)=open[f(x, y ), B]=dilate{erode[f(x, y),B],B} 二值图像的开运算事实上就是先作腐蚀运算,再作膨胀运算。 二值图像闭运算的数学表达式为: g(x, y)=close[f(x, y ), B 阅读全文
posted @ 2018-04-03 20:35 微光-倾城 阅读(2298) 评论(0) 推荐(0) 编辑
摘要: 在对Bitmap图片操作的时候,有时需要用到获取或设置像素颜色方法:GetPixel 和 SetPixel, 如果直接对这两个方法进行操作的话速度很慢,这里我们可以通过把数据提取出来操作,然后操作完在复制回去可以加快访问速度 其实对Bitmap的访问还有两种方式,一种是内存法,一种是指针法 1、内存 阅读全文
posted @ 2018-04-03 18:46 微光-倾城 阅读(4603) 评论(0) 推荐(1) 编辑
摘要: switch() {case CONST: break;}语句中,case后面的常量表达方法在C/C++中,switch() {case CONST: break;}语句中的CONST常常使用宏定义来定义, 但在C#中却没有宏定义,所以可以用C#的enum来解决,也可以用const常量来表示,举例, 阅读全文
posted @ 2018-04-01 21:28 微光-倾城 阅读(871) 评论(0) 推荐(0) 编辑
摘要: 背景知识 腐蚀与膨胀基本原理:就是用一个特定的结构元素来与待处理图像按像素做逻辑操作;可以理解成拿一个带孔的网格板(结构元素矩阵中元素为1的为孔)盖住图像的某一部分,然后按照各种不同的观察方式来确定操作类型。 比如:腐蚀操作就是拿这个结构元素的中心位置(假设参与逻辑计算的元素对应与二维矩阵中元素为1 阅读全文
posted @ 2018-03-28 15:30 微光-倾城 阅读(2110) 评论(1) 推荐(0) 编辑
摘要: 如果平面上的点绕原点逆时针旋转θº,则其坐标变换公式为: x'=xcosθ+ysinθ y=-xsinθ+ycosθ 其中,(x, y)为原图坐标,(x’, y’)为旋转后的坐标。它的逆变换公式为: x=x'cosθ-y'sinθ y=x'sinθ+y'cosθ 矩阵形式为: 和缩放类似,旋转后的图 阅读全文
posted @ 2018-03-28 14:21 微光-倾城 阅读(8487) 评论(1) 推荐(2) 编辑
摘要: 图像几何变换(缩放、旋转)中的常用的插值算法 在图像几何变换的过程中,常用的插值方法有最邻近插值(近邻取样法)、双线性内插值和三次卷积法。 最邻近插值: 这是一种最为简单的插值方法,在图像中最小的单位就是单个像素,但是在旋转个缩放的过程中如果出现了小数,那么就对这个浮点坐标进行简单的取整,得到一个整 阅读全文
posted @ 2018-03-28 00:11 微光-倾城 阅读(14827) 评论(1) 推荐(4) 编辑
摘要: 原图: 水平镜像: 垂直镜像: 阅读全文
posted @ 2018-03-27 11:05 微光-倾城 阅读(2965) 评论(0) 推荐(0) 编辑
摘要: 使图像沿水平方向和垂直方向移动 要注意像素格式PixelFormat,如24位灰度图像是1440万色,但是我们书上给的算法是对8为进行处理,可以采用分割的思想将24位拆开成3个8位,由这三个8为所保存的数据组合为24位,在处理的时候就将他们分开处理但是要整体观看 阅读全文
posted @ 2018-03-27 10:48 微光-倾城 阅读(2364) 评论(0) 推荐(0) 编辑
摘要: 一行有 11 个像素(Width = 11), 对一个 32 位(每个像素 4 字节)的图像, Stride = 11 * 4 = 44. 但还有个字节对齐的问题, 譬如: 一行有 11 个像素(Width = 11), 对一个 24 位(每个像素 3 字节)的图像, Stride = 11 * 3 阅读全文
posted @ 2018-03-27 08:14 微光-倾城 阅读(6514) 评论(0) 推荐(1) 编辑