【图像相减】-【摄像机投影仪三维形貌测量(附C++代码)】-【4】

场景:有两幅图像,一幅是打印棋盘格单单贴在白板上,第二再幅是在之前基础上投影仪投影棋盘格在白板上

目的:对投影棋盘格进行角点检测。

【图像相减】-【摄像机投影仪三维形貌测量(附C++代码)】-【4】_第1张图片 Image1
【图像相减】-【摄像机投影仪三维形貌测量(附C++代码)】-【4】_第2张图片 Image2

 Step1:Image1-Image2

Step2:二值化;

Step3:膨胀一次;

Step4:腐蚀一次;

Step5:取反;

结果:

【图像相减】-【摄像机投影仪三维形貌测量(附C++代码)】-【4】_第3张图片 结果

 

源码:

 

#include
#include

using namespace std;
using namespace cv;
int main()
{
	Mat c2 = imread("c2.jpg",0);
	Mat p2 = imread("p2.jpg",0);
	Mat board = Mat(c2.rows, c2.cols, CV_8UC1);
	board = p2 - c2;
	Mat board_bw;
	threshold(board,board_bw,0,255, THRESH_OTSU);
	namedWindow("二值化图像", WINDOW_NORMAL);
	imshow("二值化图像", board_bw);
	/*进行膨胀操作*/
	Mat element = getStructuringElement(MORPH_RECT, Size(3, 3));
	Mat board_bwErode;
	erode(board_bw, board_bwErode, element,Point(-1,-1),1);
	/*进行腐蚀操作*/
	Mat board_bwDilate;
	dilate(board_bwErode, board_bwDilate, element, Point(-1, -1), 1);
	bitwise_not(board_bwDilate, board_bwDilate);/*取反操作*/
	system("pause");
	return 0;
}

 

你可能感兴趣的:(三维重建)