本文在前文基础上完成以白色为前景的二值图像的击中击不中变换:
1、击中击不中变换
击中击不中变换是形态学形状检测的基本工具,是用来查找像素局部模式的形态学运算符。‘局部’是指‘结构元素’的大小。
两个不相交集合B={B1,B2},称B为复合结构元素。则击中击不中变换为:
即:用B1去腐蚀X,然后用B2去腐蚀X的补集,得到的结果相减就是击中击不中变换。(B2是B1的补集)
代码如下:
#include <cstring>
#include <windows.h>
#include"readbmp.h"
#include"savebmp.h"
#include"img_erosion.h"
int main()
{
int tembuf1[4][4] = { 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0 };
int tembuf2[4][4];
int TempH = 4;
int TempW = 4;
for (int i = 0; i < TempH; i++)
for (int j = 0; j < TempW; j++)
tembuf2[i][j] = 1 - tembuf1[i][j];
char readPath[] = &