C++ 图像上下翻转 OPENCV 示例
时间: 2024-11-05 21:07:56 浏览: 60
在C++中,使用OpenCV库进行图像上下翻转操作非常直观。下面是一个简单的示例,演示如何读取一张图片,然后垂直翻转它:
```cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
// 读取图像
Mat img = imread("path_to_your_image.jpg"); // 替换为你要处理的图片路径
if (img.empty()) {
std::cout << "Could not open or find the image" << std::endl;
return -1;
}
// 检查是否为灰度图,如果是则转换为BGR以便显示
if(img.channels() == 1) {
img = cvtColor(img, COLOR_GRAY2BGR);
}
// 创建一个新的Mat来保存翻转后的图像
Mat flipped_img;
// 使用OpenCV的flip函数进行水平或垂直翻转,这里我们做的是垂直翻转
flip(img, flipped_img, 0); // 第二个参数1代表沿纵轴(y轴)翻转
// 显示原始图像和翻转后的图像
namedWindow("Original Image", WINDOW_NORMAL);
imshow("Original Image", img);
namedWindow("Flipped Image", WINDOW_NORMAL);
imshow("Flipped Image", flipped_img);
// 等待用户按键,然后关闭所有窗口
waitKey(0);
destroyAllWindows();
return 0;
}
```
阅读全文