OpenCV通过指针裁剪图像

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

1 不裁剪

cpp 复制代码
 cv::Mat crop_image(int(height), int(width), CV_8UC3, image.data);

2 只保留图像1/3

cpp 复制代码
cv::Mat crop_image(int(height/3), int(width), CV_8UC3, image.data);

3 每行错开一个像素

cpp 复制代码
cv::Mat crop_image(int(height), int(width-1), CV_8UC3, image.data);

.

4 .全部代码

cpp 复制代码
#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;
}
相关推荐
AI人工智能+1 分钟前
赋能智慧监管:基于深度学习的特种行业许可证全要素精准识别系统
计算机视觉·自然语言处理·ocr·特种行业许可证识别
字节高级特工2 分钟前
【Linux】深入理解C语言命令行参数与环境变量
linux·c++·人工智能·后端
Ajie'Blog5 分钟前
AI 编程工具怎么选:Claude Code、Cursor、GitHub Copilot 与 Ollama 指南
人工智能·github·copilot
逸A5 分钟前
某里v2反混淆 codec 化路上踩到的两个隐蔽坑:被清零的 salt 与 opaque loop bound
javascript·人工智能·目标跟踪
2601_959986248 分钟前
从移动端看MMarkets(评测类)值得关注吗?
大数据·人工智能
code_pgf8 分钟前
多模态技术在主要 AI 应用领域中的应用分析与工程落地建议
人工智能·stable diffusion
用户6919026813398 分钟前
Claude Code 的快捷指令来了!带你快速上手cc提升效率!!
人工智能
坏孩子的诺亚方舟10 分钟前
FPGA神经网络数学基础0
人工智能·神经网络·线性代数·fpga开发
段一凡-华北理工大学12 分钟前
工业领域的Hadoop架构学习~系列文章02:HDFS架构深度剖析
大数据·人工智能·hadoop·学习·架构·高炉炼铁
SAP上海工博云署13 分钟前
2026年中小企业SAP服务商选型技术解析
大数据·运维·数据库·人工智能·信息可视化·运维开发·信息与通信