21xrx.com
2025-04-03 23:57:32 Thursday
文章检索 我的文章 写文章
C++ 图片处理代码
2023-07-06 19:55:10 深夜i     13     0
C++ 图片处理 代码

C++是一种高级语言,被广泛应用于计算机科学与软件工程中,尤其在图像处理方面。在图像处理中,C++语言提供了强大和灵活的功能,可以让程序员进行复杂的图像处理操作。下面是一些常用的C++图像处理代码。

1.图片转换

使用C++,可以很容易地转换不同图像格式的图片。下面是一些代码,可以将JPG格式的图片转换为PNG格式的图片。

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv) {
  Mat image = imread("example.jpg");
  if (image.empty())
    return -1;
  
  imwrite("example.png", image);
  return 0;
}

2.图片调整大小

通过C++,可以很容易地调整图像的大小。下面是一些代码,可以将图片的大小重置为指定的宽度和高度。

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv) {
  Mat image = imread("example.jpg");
  if (image.empty())
    return -1;
  
  int width = 200;
  int height = 200;
  resize(image, image, Size(width, height));
  imwrite("example-resized.jpg", image);
  return 0;
}

3.图片旋转

通过C++,可以通过任意角度旋转图像。下面是一些代码,可以将图像逆时针旋转30度。

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv) {
  Mat image = imread("example.jpg");
  if (image.empty())
    return -1;
  
  Mat rotatedImage;
  Point2f pivot(image.cols / 2., image.rows / 2.);
  Mat rotationMatrix = getRotationMatrix2D(pivot, 30, 1);
  warpAffine(image, rotatedImage, rotationMatrix, image.size());
  imwrite("example-rotated.jpg", rotatedImage);
  return 0;
}

总之,使用C++进行图像处理可以让程序员在图像处理方面拥有极大的灵活性和自由度。以上这些常用的C++代码可以让程序员轻松实现图像转换、调整大小和旋转等操作。

  
  

评论区