by Leozheng @ SRMVision
#include <opencv2/opencv.hpp>
using namespace cv; // opencv 库的命名空间为 cv
int main() {
auto capture = VideoCapture(0); // auto 为 C++ 11 新特性
if (!capture.isOpened()) // 判断是否正常打开
return -1;
Mat frame; // 可存储图像的类型
while (capture.read(frame)) {
imshow("img", frame);
if (waitKey(5) == 27) // 按下 ESC 键退出
break;
}
auto frame = imread("test.jpg"); // 读取图像
namedWindow("img", WINDOW_AUTOSIZE); // 创建窗口
imshow("img", frame); // 显示图像
imwrite("test.jpg", frame);
waitKey(0); // 等待键盘输入
destroyAllWindows(); // 销毁所有窗口
capture.release(); // 使用完,释放视频流对象
return 0;
}
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
auto frame = imread("test.png");
Mat hsv;
cvtColor(frame, hsv, COLOR_BGR2HSV);
imshow("hsv", hsv);
waitKey(0);
Mat gray, binary;
cvtColor(frame, gray, COLOR_BGR2GRAY);
threshold(gray, binary, 128, 255, THRESH_BINARY);
imshow("binary", binary);
return 0;
}
读取一张图片(图片自己寻找),通过一些通道操作,设计一个“滤镜”(彩色滤镜黑白滤镜都可以,建议彩色),要有自己的调色风格,自由发挥即可,尽量符合大众审美...
并把原图和加过滤镜后的图片一起显示。
提交代码与运行截图。
@ SRMVision