![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
Shuai@
这个作者很懒,什么都没留下…
展开
-
ubuntu OpenCV C++安装
OPENCV 配置转载 2022-09-01 10:27:01 · 2607 阅读 · 1 评论 -
ubuntu OpenCV C++报错 undefined reference to `cv::Formatter::get(cv::Formatter::FormatType)‘
C++ opencv原创 2022-09-01 10:03:40 · 1027 阅读 · 0 评论 -
图像处理2:图像直方图(c++)
计算图像的直方图要注意opencv中起始点是左上角是(0,0)为了符合常见的直观,要进行上下镜像变换。void imagehist(Mat src)//, Mat dst{ Mat EH = Mat::zeros(src.size(), CV_8UC1); double hist[3][256]; for (int i = 0; i < 3; i++) { for (int j = 0; j < 256; j++) { hist[i][j] = 0; } }原创 2021-03-09 10:59:33 · 531 阅读 · 0 评论 -
图像处理4:图像锐化(C++)
梯度锐化法对于离散的图像而言,一阶偏导数采用一阶差分近似表示为为简化运算,经常采用梯度算子算法void CMFCworkDlg::OnBnClickedButton4(){ // TODO: 在此添加控件通知处理程序代码 Mat image = imread("ema.jpg", 1); Mat image_gray = gray_img(image); Mat result, grad; result.create(image.size(), CV_8UC1); grad原创 2021-03-09 10:58:36 · 1359 阅读 · 1 评论 -
图像处理5:Laplace增强算子法(C++)
Laplace增强算子法Laplace算子是线性二阶微分算子对于离散的图像而言,二阶偏导数可用二阶差分近似Laplace增强:void CMFCworkDlg::OnBnClickedButton5(){ // TODO: 在此添加控件通知处理程序代码 //laplace增强 Mat image = imread("ema.jpg", 1); Mat image_gray = gray_img(image); Mat result, laplaceimg; result.原创 2021-03-09 10:58:21 · 1494 阅读 · 0 评论 -
图像处理5:Roberts边缘检测算子(C++)
void CMFCworkDlg::OnBnClickedButton6(){ // TODO: 在此添加控件通知处理程序代码 // Roberts算子边缘检测 Mat image = imread("ema.jpg", 1); Mat image_gray = gray_img(image); Mat grad; grad.create(image.size(), CV_8UC1); for (int i = 1; i < image_gray.rows - 1; i++) ..原创 2021-03-09 10:58:03 · 1869 阅读 · 1 评论 -
图像处理5:Sobel边缘检测算子(C++)
void CMFCworkDlg::OnBnClickedButton7(){ // TODO: 在此添加控件通知处理程序代码 // Sobel算子边缘检测 Mat image = imread("ema.jpg", 1); Mat image_gray = gray_img(image); Mat gradx,grady; gradx.create(image.size(), CV_8UC1); grady.create(image.size(), CV_8UC1); for ..原创 2021-03-09 10:57:50 · 706 阅读 · 0 评论 -
图像处理5:图像边缘检测总结
小结:梯度边缘检测算子,模板简单,得到的边缘较粗,对噪声敏感。Roberts算子是2×2模板,对具有陡峭的低噪声图像响应最好。Sobel、Prewitt、Krisch算子是3×3模板,对灰度渐变和噪声较多的图像处理较好,与采用2×2模板的算子相比,边缘检测效果较好,并且抗噪声能力更强。Laplace算子对噪声比较敏感,并且产生了双像素宽度的边缘。Canny得到的检测结果优于Roberts、Sobel算子的检测结果,边缘细节更丰富。...原创 2021-03-08 21:31:33 · 826 阅读 · 0 评论 -
图像处理6:图像滤波
任何一幅未经处理的原始图像,都存在着一定程度上的噪声干扰。噪声恶化图像质量,使图像模糊,甚至淹没需要检测的特征,给图像的分析带来困难,因此需要对图像进行滤波处理。图像滤波算法主要分两类:空域滤波和频域滤波。1、空域滤波空域法是在空间域内直接对图像的灰度值进行处理。邻域平均法中值滤波法数学形态学法...原创 2021-03-08 21:31:20 · 395 阅读 · 0 评论 -
图像处理6:图像滤波-形态学滤波
如下是source.jpgvoid CMFCworkDlg::OnBnClickedButton10(){ // TODO: 在此添加控件通知处理程序代码 // TODO: 在此添加控件通知处理程序代码 Mat image = imread("source.jpg", 0); Mat structure_element = getStructuringElement(0, Size(13, 12)); Mat dst_erode, dst_dilate;...原创 2021-03-08 21:31:01 · 1058 阅读 · 0 评论 -
图像处理6:高斯平滑滤波(C++)
void CMFCworkDlg::OnBnClickedButton9(){ // TODO: 在此添加控件通知处理程序代码 // TODO: 在此添加控件通知处理程序代码 Mat image = imread("ema.jpg", 1); Mat image_gray = gray_img(image); Mat result; result.create(image.size(), CV_8UC1); for (int i = 1; i < ...原创 2021-03-08 21:30:48 · 571 阅读 · 0 评论 -
图像处理7:图像目标检测
void CMFCworkDlg::OnBnClickedButton11(){ // TODO: 在此添加控件通知处理程序代码 //otsu Mat src = imread("ema.jpg", 0); int KT = cal_otsu(src); _cprintf("KT=%d\n", KT); Mat grayImg; grayImg.create(src.rows, src.cols, CV_8UC1); for (int i = 0; i < src...原创 2021-03-08 21:30:19 · 335 阅读 · 0 评论 -
图像处理7:基于运动信息的目标检测
void CMFCworkDlg::OnBnClickedButton14(){ // TODO: 在此添加控件通知处理程序代码 Mat greyimg; Mat foreground, foreground2; Ptr<BackgroundSubtractorKNN> ptrKNN = createBackgroundSubtractorKNN(100, 400, true); Ptr<BackgroundSubtractorMOG2> ...原创 2021-03-08 21:30:03 · 575 阅读 · 1 评论 -
图像处理7:基于特征点匹配的目标检测
基于特征点匹配的目标检测void CMFCworkDlg::OnBnClickedButton16(){ // TODO: 在此添加控件通知处理程序代码 //Load Image Mat src1 = imread("1.1.jpg", 1); Mat src2 = imread("1.2.jpg", 1); imshow("src1", src1); imshow("src2", src2); if (!src1.data || !src2.data) { _原创 2021-03-08 21:29:40 · 758 阅读 · 0 评论 -
图像处理8:CamShift算法目标跟踪(C++)
CamShift算法原创 2021-03-08 21:29:21 · 347 阅读 · 0 评论 -
图像处理:人脸识别CascadeClassifier
//CascadeClassifier void CMFCworkDlg::OnBnClickedButton21(){ // TODO: 在此添加控件通知处理程序代码 CascadeClassifier faceCascade; faceCascade.load("haarcascade_frontalface_alt2.xml");//加载分类器 VideoCapture capture; capture.open(0);// 打开摄像头 // capture.open("v.原创 2021-03-08 21:29:06 · 710 阅读 · 0 评论 -
face_detect
void CMFCworkDlg::OnBnClickedButton23(){ // TODO: 在此添加控件通知处理程序代码 size_t inWidth = 300; size_t inHeight = 300; double inScaleFactor = 1.0; Scalar meanVal(104.0, 177.0, 123.0); float min_confidence = 0.5; String modelConfiguration = "deploy.prototxt.原创 2021-03-08 21:28:46 · 346 阅读 · 0 评论 -
图像处理C++ MFC界面
// MFC_workDlg.cpp: 实现文件//#include "pch.h"#include "framework.h"#include "MFC_work.h"#include "MFC_workDlg.h"#include "afxdialogex.h"#include "opencv2/opencv.hpp"#include <opencv2\imgproc\types_c.h>#include<iostream>#include "conio..原创 2020-12-02 21:31:11 · 1138 阅读 · 0 评论 -
图像处理1:图像的灰度化(c++)
在MFC中的cpp文件中加入头文件#include <opencv2\imgproc\types_c.h>#include<iostream>#include "conio.h"//#include "opencv2\calib3d\calib3d.hpp"#include "opencv2/calib3d.hpp"using namespace std;using namespace cv;using std::max;using std::cout;u原创 2020-11-27 14:37:33 · 2236 阅读 · 1 评论 -
win64的MFC没有终端的解决方案
首先在文件头部加入#include "conio.h"然后在OnInitDiag()中加入AllocConsole();最后在运行的代码里运行_cprintf("pass");原创 2020-11-06 13:28:26 · 174 阅读 · 0 评论