opencv将图片放大后还是清晰,代码示例
时间: 2023-04-09 08:03:53 浏览: 89
可以使用cv2.resize()函数来实现图片的放大,示例代码如下:
```
import cv2
img = cv2.imread('image.jpg')
resized_img = cv2.resize(img, (0,0), fx=2, fy=2, interpolation=cv2.INTER_LINEAR)
cv2.imshow('Original Image', img)
cv2.imshow('Resized Image', resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,fx和fy参数分别表示在水平和垂直方向上的缩放比例,interpolation参数表示缩放时的插值方法,这里使用了线性插值。
相关问题
python opencv实现图片放大缩小代码
可以使用OpenCV库中的resize函数来实现图片的放大缩小。以下是一个简单的示例代码:
```python
import cv2
# 加载图片
img = cv2.imread('image.jpg')
# 缩小图片
small_img = cv2.resize(img, (0,0), fx=0.5, fy=0.5)
# 放大图片
large_img = cv2.resize(img, (0,0), fx=2, fy=2)
# 显示图片
cv2.imshow('Original Image', img)
cv2.imshow('Small Image', small_img)
cv2.imshow('Large Image', large_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先使用`cv2.imread()`函数加载一张图片。然后,我们使用`cv2.resize()`函数来缩小和放大图片。在缩小图片时,我们将`fx`和`fy`参数都设置为0.5,表示将图片的宽度和高度都缩小为原来的一半。在放大图片时,我们将`fx`和`fy`参数都设置为2,表示将图片的宽度和高度都放大为原来的两倍。最后,我们使用`cv2.imshow()`函数来显示原始图片、缩小后的图片和放大后的图片。
qt opencv图片旋转代码示例
下面是一个基于 Qt 和 OpenCV 的图片旋转代码示例:
```cpp
#include <QtWidgets/QApplication>
#include <QtWidgets/QFileDialog>
#include <QtGui/QPixmap>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 打开文件对话框,选择要旋转的图片
QString fileName = QFileDialog::getOpenFileName(nullptr, "Open Image", "", "Image Files (*.png *.jpg *.bmp)");
if (fileName.isEmpty()) {
return 0;
}
// 加载图片
Mat srcImage = imread(fileName.toStdString(), IMREAD_COLOR);
if (srcImage.empty()) {
return 0;
}
// 显示原图
namedWindow("Original Image", WINDOW_NORMAL);
imshow("Original Image", srcImage);
// 计算旋转角度,这里以45度为例
double angle = 45.0;
Point2f center(srcImage.cols / 2.0, srcImage.rows / 2.0);
Mat rotateMat = getRotationMatrix2D(center, angle, 1.0);
// 旋转图片
Mat dstImage;
warpAffine(srcImage, dstImage, rotateMat, srcImage.size());
// 显示旋转后的图片
namedWindow("Rotated Image", WINDOW_NORMAL);
imshow("Rotated Image", dstImage);
// 将旋转后的图片转换为 QPixmap,用于在 Qt 界面中显示
QPixmap pixmap = QPixmap::fromImage(QImage(dstImage.data, dstImage.cols, dstImage.rows, dstImage.step, QImage::Format_RGB888).rgbSwapped());
// 在 Qt 界面中显示旋转后的图片
QLabel label;
label.setPixmap(pixmap);
label.show();
return a.exec();
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)