c++代码,其中scale_percent用来设置百分比,例如50 就是百分之五十,也就是一半的大小,当然也可以设置成200,相当于原来的2倍大小,注意图片路径换成实际路径。
cpp
#include <opencv2/opencv.hpp>
int main() {
// 读取图片
cv::Mat image = cv::imread("d:\\2.jpg");
if (image.empty()) {
std::cerr << "无法读取图片" << std::endl;
return -1;
}
// 缩放百分比
double scale_percent = 50.0; // 修改这个值即可
// 计算缩放后的尺寸
int width = static_cast<int>(image.cols * scale_percent / 100);
int height = static_cast<int>(image.rows * scale_percent / 100);
cv::Size new_size(width, height);
// 缩放图片
cv::Mat resized_image;
cv::resize(image, resized_image, new_size);
// 显示缩放后的图片
cv::imshow("缩放后的图片", resized_image);
// 等待按键按下
cv::waitKey(0);
return 0;
}
python代码
python
import cv2
# 读取图片
image = cv2.imread("d:\\2.jpg")
if image is None:
print("无法读取图片")
exit()
# 缩放百分比
scale_percent = 50.0 # 修改这个值即可
# 计算缩放后的尺寸
width = int(image.shape[1] * scale_percent / 100)
height = int(image.shape[0] * scale_percent / 100)
new_size = (width, height)
# 缩放图片
resized_image = cv2.resize(image, new_size)
# 显示缩放后的图片
cv2.imshow("缩放后的图片", resized_image)
# 等待按键按下
cv2.waitKey(0)
cv2.destroyAllWindows()
另外一种写法,是可以动态输入分百比,再由程序执行
c++ 运行后输入缩放百分比 (例如:50 表示缩小到 50%)
cpp
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// 读取图片
cv::Mat image = cv::imread("d:/2.jpg");
if (image.empty()) {
std::cout << "无法读取图片" << std::endl;
return -1;
}
// 显示原始图片
cv::imshow("原始图片", image);
// 输入缩放百分比
double scale_percent;
std::cout << "输入缩放百分比 (例如:50 表示缩小到 50%): ";
std::cin >> scale_percent;
// 计算缩放后的尺寸
int width = static_cast<int>(image.cols * scale_percent / 100);
int height = static_cast<int>(image.rows * scale_percent / 100);
cv::Size new_size(width, height);
// 缩放图片
cv::Mat resized_image;
cv::resize(image, resized_image, new_size);
// 显示缩放后的图片
cv::imshow("缩放后的图片", resized_image);
// 等待按键按下
cv::waitKey(0);
return 0;
}
python源码
python
import cv2
# 读取图片
image = cv2.imread("d:/2.jpg")
if image is None:
print("无法读取图片")
exit()
# 显示原始图片
cv2.imshow("原始图片", image)
# 输入缩放百分比
scale_percent = float(input("输入缩放百分比 (例如:50 表示缩小到 50%): "))
# 计算缩放后的尺寸
width = int(image.shape[1] * scale_percent / 100)
height = int(image.shape[0] * scale_percent / 100)
new_size = (width, height)
# 缩放图片
resized_image = cv2.resize(image, new_size)
# 显示缩放后的图片
cv2.imshow("缩放后的图片", resized_image)
# 等待按键按下
cv2.waitKey(0)
cv2.destroyAllWindows()