C++ OpenCV¶
OpenCV 是常用的计算机视觉库,C++ 是其主要接口语言之一。
安装¶
Ubuntu 示例:
检查版本:
读取和显示图片¶
#include <opencv2/opencv.hpp>
int main() {
cv::Mat img = cv::imread("input.png");
if (img.empty()) {
return 1;
}
cv::imshow("image", img);
cv::waitKey(0);
}
编译:
灰度转换¶
CTF 中的用途¶
- 图片隐写辅助分析。
- 像素矩阵处理。
- 二值化、边缘检测、轮廓识别。
- 批量提取二维码、条形码、图像块。
注意事项¶
- OpenCV 默认读取彩色图像为 BGR 通道顺序,不是 RGB。
cv::Mat使用引用计数,复制时通常是浅拷贝,需要深拷贝时使用clone()。- 图像坐标通常是
(x, y),矩阵访问通常是(row, col)。