使用 VS和 OPENCV 打开一幅图
时间: 2023-03-28 20:01:22 浏览: 74
像并显示出来,你知道如何做吗?
可以的,您可以使用以下代码:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image = imread("your_image_path", IMREAD_COLOR); // 读取图像
if (image.empty()) // 判断图像是否读取成功
{
std::cout << "Failed to read image!" << std::endl;
return -1;
}
namedWindow("Display window", WINDOW_NORMAL); // 创建窗口
imshow("Display window", image); // 显示图像
waitKey(); // 等待按键
return ;
}
相关问题
用python写 OPENCV 打开一幅图
你好,我是 CSDN 开发的 C 知道。关于您的问题,我可以回答。使用 Python 编写 OpenCV 打开一幅图的代码如下:
```python
import cv2
img = cv2.imread('image.jpg')
cv2.imshow('image', img)
cv2.waitKey()
cv2.destroyAllWindows()
```
其中,`image.jpg` 是要打开的图片文件名,`cv2.imshow()` 函数用于显示图片,`cv2.waitKey()` 函数等待用户按下任意键,`cv2.destroyAllWindows()` 函数关闭所有窗口。希望能够帮到您。
基于opencv打开一幅彩色图像,从图像数据中读取红、绿、蓝 三个分量,把图像变换到 HSI 空间,修改其中一个分量的值, 然后再变换回 RGB,显示比较原图像和改变后图像的差别。c++
好的,下面是代码实现:
```
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("test.jpg", IMREAD_COLOR);
if (img.empty())
{
cout << "Could not read the image: " << endl;
return 1;
}
Mat bgr[3];
split(img, bgr);
// 将 BGR 转换为 HSI
Mat hsi;
cvtColor(img, hsi, COLOR_BGR2HSV);
// 修改 HSI 中的一个分量的值
vector<Mat> channels;
split(hsi, channels);
channels[0] += 50;
merge(channels, hsi);
// 将 HSI 转换回 BGR
Mat bgr2;
cvtColor(hsi, bgr2, COLOR_HSV2BGR);
// 显示原图
imshow("Original Image", img);
// 显示修改后的图
imshow("Modified Image", bgr2);
// 等待用户按下任意按键退出程序
waitKey(0);
return 0;
}
```
解释一下代码:
1. 首先,我们用 `imread` 函数读取一幅彩色图像,如果读取失败则返回错误信息。
2. 然后,我们将 BGR 分量分离出来,用 `cvtColor` 函数将其转换为 HSI 空间。
3. 接着,我们修改其中一个分量的值,比如说将 H 分量加上 50。
4. 我们再用 `cvtColor` 函数将 HSI 转换回 BGR 空间。
5. 最后,我们用 `imshow` 函数分别显示原图和修改后的图像,并等待用户按下任意按键退出程序。
希望这个代码对你有所帮助!