VS-C++ 系列:所有相关C++文章链接.
VS-C# 系列:所有相关C#文章链接.
bat 系列:所有相关bat文章链接.
OpenCV 系列:所有相关OpenCV文章链接.
Keil 系列:所有相关文章链接
所有内容均以最小系统调试成功;逐步提供低分源码工程下载!
保证每行代码都经过验证!
如有疑惑,欢迎留言,看见即回;祝好__by Dxg_LC
序言:
1、以上链接为方便整理查看资料用;伴随博文发布更新,如果有不正确处,感谢指正
2、因本人能力有限若有不正确之处或者相关超链接失效,请于相关文章内提醒@博主;灰常感谢
3、友情提醒1,勿要《一支烟 + 一杯茶 == 一坐一下午》 身体重要,革命本钱;
4、友情提醒2,多喝热水;
5、友情提醒3,听媳妇话+多点时间陪家人;
#include "stdafx.h"
#include
#include
#include
#include
//
#include //必须放在windows.h之前
#include // std::string, std::to_string
#pragma comment(lib,"opencv_img_hash420.lib")
#ifdef _DEBUG
#pragma comment(lib,"opencv_img_hash420d.lib")
#pragma comment(lib,"opencv_world420d.lib")
#else
#pragma comment(lib,"opencv_img_hash420.lib")
#pragma comment(lib,"opencv_world420.lib")
#endif // DEBUG
using namespace cv;
//从本地加载并显示图片
#include // std::string, std::to_string
cv::String cvPath = "..\\Release\\123\\";
for (int i = 1; i <= 5; i++)
{
// Mat image = imread(cvPath + std::to_string(i) + ".jpg", IMREAD_GRAYSCALE);//灰度图像
Mat image = imread(cvPath + std::to_string(i) + ".jpg");//彩色
imshow("My Image1", image);
waitKey(1000);
}
//卷积运算
#include
Mat kernel = (Mat_<char>(3, 3) <<
-1, -1, -1,
-1, 8, -1,
-1, -1, -1); //图像增强模板
Mat src,dst;
src = imread(cvPath + std::to_string(1) + ".jpg");//彩色
filter2D(src, dst, image.depth(), kernel); //对图像进行卷积
imshow("My Image1", src);
imshow("My Image1", dst);
//高斯模糊
GaussianBlur(src, dst, cv::Size(5, 5), 3, 3);//一次模糊
GaussianBlur(dst, dst, cv::Size(5, 5), 3, 3);//二次模糊
//缩放
resize(src, dst, cv::Size(500, 500.0 / src.cols*src.rows));//缩放到 (500,500.0 / src.cols*src.rows)
//创建 条形框
Mat img;//输入图像
Mat dst;//输出图像
Mat element;//结构元
//形态学
//处理的次数
int iter = 1;
int MAX_ITER = 30;
//结构元的半径
int MorR = 1;
int MAX_r = 20;
//高斯模糊
int GauR = 1;
//形态学处理类型
/*
enum MorphTypes{
MORPH_ERODE = 0,
MORPH_DILATE = 1,
MORPH_OPEN = 2,
MORPH_CLOSE = 3,
MORPH_GRADIENT = 4,
MORPH_TOPHAT = 5,
MORPH_BLACKHAT = 6,
MORPH_HITMISS = 7
};
*/
int morphType = 0;
int MAX_MORPHTYPE = 6;
//窗口
string windowName = "形态学处理";
//申明回调函数
void callback(int, void*);
{//Main()
//输入图像
img = imread("..\\Release\\123\\1.jpg", IMREAD_ANYCOLOR);
if (!img.data)
return -1;
namedWindow(windowName, 1);
createTrackbar("GauR:", windowName, &GauR, MAX_r, callback);
createTrackbar("MorR:", windowName, &MorR, MAX_r, callback);
createTrackbar("MorCount:", windowName, &iter, MAX_ITER, callback);
createTrackbar("MorType:", windowName, &morphType, MAX_MORPHTYPE, callback)
callback(0, 0);
waitKey(0);
}
//回调函数
clock_t st_star = clock();
clock_t st_End = clock();
void callback(int, void*)
{
st_star = clock();
//高斯模糊
GaussianBlur(img, dst, cv::Size(2 * GauR + 1, 2 * GauR + 1), 0);
//结构元
element = getStructuringElement(MORPH_ELLIPSE, Size(2 * MorR + 1, 2 * MorR + 1), Point(-1, -1));
//形态学处理
morphologyEx(dst, dst, morphType, element, Point(-1, -1), iter);
//保存形态处理的结果
//imwrite("mor.jpg", dst);
imshow(windowName, dst);
st_End = clock();
ConsoleWriteLine("st_End-%02d-%02d-%02d",
(st_End - st_star) / (CLOCKS_PER_SEC*60),
(st_End - st_star) / CLOCKS_PER_SEC,
(st_End - st_star) % CLOCKS_PER_SEC);
}
欢迎收藏,点赞;"一键三联"走起,LOL