欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > OpenCV通过指针裁剪图像

OpenCV通过指针裁剪图像

2025/2/24 16:19:45 来源:https://blog.csdn.net/qq_36784503/article/details/143601486  浏览:    关键词:OpenCV通过指针裁剪图像

OpenCV 中mat 格式的像素数值都是连续排列的。为了深入了解cuda 编程。我们来写一个简单的小程序测试一下。

1 不裁剪

 cv::Mat crop_image(int(height), int(width), CV_8UC3, image.data);

在这里插入图片描述

2 只保留图像1/3

cv::Mat crop_image(int(height/3), int(width), CV_8UC3, image.data);

在这里插入图片描述

3 每行错开一个像素

cv::Mat crop_image(int(height), int(width-1), CV_8UC3, image.data);

在这里插入图片描述
.

4 .全部代码

#include <opencv2/opencv.hpp> // 包含OpenCV的主要头文件
#include <iostream>
#include <direct.h> 
int main() 
{cv::Mat image; // 创建一个Mat对象来存储图像char runPath[1024] = { 0 };image = cv::imread("mountain.png", cv::IMREAD_COLOR); // 读取图片if (image.empty()) { // 检查图片是否成功加载std::cout << "Could not open or find the image\n";return -1;}cv::namedWindow("src_image", cv::WINDOW_AUTOSIZE); // 创建一个窗口std::cout <<"image size: "<< image.size() << std::endl;int width = image.cols;int height = image.rows;std::cout << "x: " << image.cols << std::endl;std::cout <<"y: "<< image.rows << std::endl;cv::Mat crop_image(int(height/3), int(width), CV_8UC3, image.data);cv::imshow("src_image", image); // 在窗口中显示图片cv::waitKey(0); // 等待按键事件,0表示无限期等待   cv::imshow("crop", crop_image); // 在窗口中显示图片cv::waitKey(0); // 等待按键事件,0表示无限期等待   _getcwd(runPath, sizeof(runPath));std::cout<<"running path" << runPath << std::endl;return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词