OpenCV是一个计算机视觉库,提供了很多图像处理功能。在python中使用OpenCV进行直方图均衡化可以使用cv2.equalizeHist()函数。示例代码如下: ```python import cv2 img = cv2.imread('image.jpg',0) equ = cv2.equalizeHist(img) res = np.hstack((img,equ)) #stacking images side-by-side cv2.imwrite('res.png',res) ``` 用c++语言优化这段代码
时间: 2024-04-10 10:35:02 浏览: 128
为了优化这段代码,可以采用以下步骤:
1. 使用C++的OpenCV库,包含`<opencv2/opencv.hpp>`头文件。
2. 使用`cv::imread()`函数读取图像,并确保图像读取成功。
3. 使用`cv::equalizeHist()`函数进行直方图均衡化。
4. 使用`cv::hconcat()`函数将原始图像和均衡化后的图像水平合并。
5. 使用`cv::imwrite()`函数保存结果图像。
下面是C++优化后的代码示例:
```cpp
#include <opencv2/opencv.hpp>
int main() {
cv::Mat img = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);
if (img.empty()) {
std::cout << "Failed to read image." << std::endl;
return -1;
}
cv::Mat equ;
cv::equalizeHist(img, equ);
cv::Mat res;
cv::hconcat(img, equ, res);
cv::imwrite("res.png", res);
return 0;
}
```
请注意,上述代码假设您已经安装并正确配置了OpenCV库。
阅读全文