c++版本opencv(02-第一个OpenCV程序 03.图像加载与保存)

c++版本opencv(02-第一个OpenCV程序)


来自网易云课堂

一、02-第一个OpenCV程序

在这里插入图片描述
在这里插入图片描述
如果加载到了之后呢,我们就要对它进行创建一个窗口,创建窗口呢,在open CV当中这一个函数呢,就叫namewindow。我们这个窗口的名称呢,叫做input,还有一个flag就是说,你这个flag创建什么样的窗口,我们就创建一个大小跟这个图像自动放松的一个窗口,叫window autosize这一个。特别要说一下,这个时候OPENCV3跟open CV是一个很大的不同地方,在OPENCV3版本呢,是这样创建。那open cv4当中呢,把所有CV下划线的。这些枚举类型呢,都去掉了。所以它就变成了一个Window,变成这样,那有了这个Window。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二,03.图像加载与保存

在这里插入图片描述
在这里插入图片描述
那下面,我们就来看一下我们这几个API,对应的API是如何使用的,以及图像文件的加载,我们会使用哪一个API?这一个API其实就是我们的imshow,那imshow它默认的读进来的图像,是我们的BGRR彩色图像那。BGR是什么东西?是图像的三个通道,从这一个层面来,技术层面来说的话,我们也要认识一下,图像的三个通道,是跟彩色图像有关系的,那彩色图像,一般是三通道的,如果带透明通道就是四通道

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是透明通道还是没有保存!
在这里插入图片描述
在这里插入图片描述

执行数据
在这里插入图片描述
显示的不会变!
在这里插入图片描述
只有imwrite后在文件里面查看,才能看到透明通道数,不然imshow看不到!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下方式获取图像的第一个像素值的地址: IplImage* img; // 假设img已经被正确初始化 char* firstPixel = &img->imageData[0]; 如果图像使用Mat类型存储,也可以这样获取: Mat img; // 假设img已经被正确初始化 char* firstPixel = img.data; ### 回答2: 要获取图像的第一个像素值地址,可以使用OpenCV库的相关函数进行操作。 首先,使用OpenCV库的imread函数读取图像文件,将图像到内存中。假设图像文件名为image.png。 然后,使用OpenCV库的Mat类创建一个矩阵对象,将读取的图像存储在该矩阵对象中。代码如下: ```cpp Mat image = imread("image.png"); ``` 接下来,用矩阵对象的data成员函数获取图像数据的指针。该指针指向图像数据的第一个像素值地址。代码如下: ```cpp uchar* pixelPtr = (uchar*)image.data; ``` 此时,pixelPtr指针即指向了图像数据中的第一个像素值地址。 最后,可以进一步根据需要,通过指针的偏移操作来获取其他像素值的地址。 需要注意的是,上述代码中的图像文件路径应该根据实际情况进行修改,确保图像文件存在,并且在正确的路径下。 希望以上回答对您有帮助! ### 回答3: 在OpenCV中,可以使用C语言来获取图像的第一个像素值地址。具体的步骤如下: 首先,我们需要使用`cv2.imread()`函数读取图像并将其存储在一个变量中。这个函数会返回一个`Mat`对象,其中包含了图像的数据。 然后,我们可以通过`cv::Mat::data`属性来访问图像数据的首地址。`Mat`对象的`data`属性是一个指向图像数据的指针,它指向图像的第一个像素值。 以下是一个示例代码: ```c++ #include <opencv2/opencv.hpp> int main() { // 读取图像 cv::Mat image = cv::imread("path_to_image.jpg"); // 获取图像的第一个像素值地址 uchar* firstPixel = image.data; // 输出第一个像素值 std::cout << "First pixel value: " << (int)(*firstPixel) << std::endl; return 0; } ``` 在上面的代码中,我们首先使用`imread()`函数读取图像,并将其存储在`image`变量中。然后,我们使用`image.data`属性获取图像数据的首地址,并将其赋值给`firstPixel`变量。最后,我们输出了第一个像素值。 需要注意的是,获取到的像素值是一个`uchar`类型的指针,如果需要使用像素值,可以将其转换为对应的数据类型。此外,还要确保读取的图像路径是正确的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值