HIT2018暑期创新训练课
图像工程导论作业源码
-------------------------------------------------- by cx
1. Enhancement.h(头文件:声明所用库,名字空间以及所用函数)
#ifndef ENHANCEMENT_H_INCLUDED
#define ENHANCEMENT_H_INCLUDED
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
#include <vector>
using namespace cv;
using namespace std;
void Equalized(Mat image);
void Laplace(Mat image);
void cx_HomoFilter(Mat image, Mat &dst);
#endif
2. main.cpp(主函数:读取图片或者视频帧)
#include"Enhancement.h"
int main()
{
//图像
//Mat src_mat = imread("lalala.jpg", 3);
//imshow("src:", src_mat);
//Mat dst_mat(src_mat.rows, src_mat.cols, src_mat.type());
Equalized(frame);
Laplace(frame);
//cx_HomoFilter(src_mat, dst_mat);
//waitKey(0);
//return 0;
//视频
VideoCapture capture("MAQ01240.MP4");
if (!capture.isOpened())
return 1;
double rate = capture.get(CV_CAP_PROP_FPS);
bool stop(false);
Mat frame;
int delay = 1000 / rate;
while (!stop)
{
if (!capture.read(frame))
break;
Mat dst_mat(frame.rows, frame.cols, frame.type());
//Equalized(frame);
//Laplace(frame);
cx_HomoFilter(frame, dst_mat);
int c = waitKey(delay);
//按下ESC或者到达指定的结束帧后退出读取视频
if ((char)c == 27 )
{
stop = true;
}
//按下按键后会停留在当前帧,等待下一次按键
if (c >= 0)
{
waitKey(0);
}
waitKey(delay);
if (waitKey(delay) >= 0)