形态学操作
主要应用于 二值图像
morphologyEx(src, dest, CV_MOP_BLACKHAT, kernel);
Mat src:输入图像
Mat dest:输出结果
int OPT:CV_MOP_OPEN/ CV_MOP_CLOSE/ CV_MOP_GRADIENT / CV_MOP_TOPHAT/ CV_MOP_BLACKHAT:形态学操作类型
Mat kernel:结构元素
int iteration:迭代次数,默认是1
开操作 open
先腐蚀后膨胀
可以去掉小的对
直接用霍夫直线检测,效果差;
通过图像形态学操作来寻找直线,霍夫获取位置信息与显示。
#include
#include
using namespace std;
using namespace cv;
Mat src,temp_ROI,dst;
int threshold_value = 128;
void DetectLine(int,void*);//Hough直线检测函数
void MorphShapes_Hough(int, void*);//形态学+Hough直线检测
int ma
照片是来自太空望远镜的星云图像,科学家想知道它的面积与周长。
通过高斯模糊+二值分割+图像形态学+轮廓提取
#include
#include
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat src,gray_temp, gauss_temp,threshold_temp,morph_temp,dst;
src = imread(../path.jpg);
if (src.emp
计算对象个数
通过二值分割+形态学处理+距离变换+形态学变换(具体问题具体分析)+连通区域计算
#include
#include
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat src,temp,temp_mor,temp_dist,dst;
src = imread(../path.jpg,IMREAD_GRAYSCALE);
if (src.empty())
{
co