opencv c++ python等比缩小或放大显示图片代码

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()
相关推荐
豆豆16 分钟前
day32 学习笔记
图像处理·笔记·opencv·学习·计算机视觉
逢生博客25 分钟前
使用 Python 项目管理工具 uv 快速创建 MCP 服务(Cherry Studio、Trae 添加 MCP 服务)
python·sqlite·uv·deepseek·trae·cherry studio·mcp服务
堕落似梦32 分钟前
Pydantic增强SQLALchemy序列化(FastAPI直接输出SQLALchemy查询集)
python
ChoSeitaku40 分钟前
17.QT-Qt窗口-工具栏|状态栏|浮动窗口|设置停靠位置|设置浮动属性|设置移动属性|拉伸系数|添加控件(C++)
c++·qt·命令模式
坐吃山猪1 小时前
Python-Agent调用多个Server-FastAPI版本
开发语言·python·fastapi
软行2 小时前
LeetCode 每日一题 2845. 统计趣味子数组的数目
数据结构·c++·算法·leetcode
Bruce-li__2 小时前
使用Django REST Framework快速开发API接口
python·django·sqlite
小兜全糖(xdqt)2 小时前
python 脚本引用django中的数据库model
python·django
小贾要学习2 小时前
【C++】继承----下篇
android·java·c++
未来可期LJ2 小时前
【Test】单例模式❗
开发语言·c++