- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#includeopencv.hpp #includehighgui.h #includeimgproc.hpp using namespace cv; //把灰度图像转化为二值图像 Mat changeToBinaryImage(Mat grayImage) { Mat binaryImage(grayImage.rows, grayImage.cols, CV_8UC1, Scalar(0)); //转化为二值图像 for (int i = 0; i grayImage.rows; i++) { for (int j = 0; j grayImage.cols; j++) { if (grayImage.data[i*grayImage.step + j]100) { binaryImage.data[i*grayImage.step + j] = 255; } else { binaryImage.data[i*grayImage.step + j] = 0; } } } imshow(binaryImage, binaryImage); return binaryImage; } //创建结构元素 //一般结构元素 关于原点对称 //Mat createSE() //{ // int a[3][3]={ 0,1,0, // 1,1,1, // 0,1,0}; // Mat structureElement(3, 3, CV_8UC1, a); //} //二值图像腐蚀操作 Mat binaryErosion(Mat binaryImage, Mat se) { //二值图像移动 Mat window(se.rows, se.cols, CV_8UC1); //定义一个矩阵,存储腐蚀后的图像 Mat binaryErosionImage(binaryImage.rows, binaryImage.cols, CV_8UC1, Scalar(0)); for (int i = (se.rows-1)/2; i binaryImage.rows-(se.rows-1)/2; i++) { for (int j = (se.cols - 1) / 2; j binaryImage.cols - (se.cols - 1) / 2; j++) { //先设置第i行第j列像素值为255,即白色 binaryErosionImage.data[i*binaryImage.step + j] = 255; for (int row = 0; row se.rows; row++) { for (int col = 0; col se.cols; col++) { //把se对应的元素赋值到与se结构相同的矩阵中 window.data[row*window.step + col] = binaryImage.data[(i + row - (window.rows - 1) / 2)*binaryImage.step + (j + col - (window.cols - 1) / 2)]; } } //比较se与window中的像素值 int row, col; for (row = 0; row se.rows; row++) { for (col = 0; col se.cols; col++) { if (se.data[row*se.step + col] != window.data[row*se.step + col]) { break; } } if (col == se.cols) { continue; } else { break; } } if (row == se.rowscol == se.cols) { binaryErosionImage.data[i*binaryImage.step + j] = 0; } } } //imshow(binaryErosionImage, binaryErosionImage); return binaryErosionImage; } //二值图像膨胀操作 Mat binaryDilation(Mat binaryImage, Mat se) {
文档评论(0)