#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
int main()
{
cv::Mat srcImage = cv::imread("19.jpg");
if (!srcImage.data)
return 1;
cv::Mat srcGray;
cv::cvtColor(srcImage, srcGray, CV_RGB2GRAY);
// 定义结构元素
cv::Mat element = cv::getStructuringElement(
cv::MORPH_RECT, cv::Size(15, 15));
cv::Mat topHatMat, blackHatMat;
// 形态学Top-Hat 顶帽
cv::morphologyEx(srcGray, topHatMat,
cv::MORPH_TOPHAT, element);
// 形态学Top-Hat 黑帽
cv::morphologyEx(srcGray, blackHatMat,
cv::MORPH_BLACKHAT, element);
cv::imshow(" srcGray ", srcGray);
cv::imshow(" topHatMat ", topHatMat);
cv::imshow(" blackHatMat ", blackHatMat);
cv::waitKey();
return 0;
}
转载:http://blog.youkuaiyun.com/zhuwei1988
本文介绍了一个使用OpenCV库进行图像处理的示例程序。该程序首先将彩色图像转换为灰度图像,然后利用形态学操作中的顶帽(Top-Hat)和黑帽(Black-Hat)变换来突出图像中的细节特征。通过定义结构元素并应用这些变换,可以增强图像中特定区域的对比度。
2282

被折叠的 条评论
为什么被折叠?



