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()
相关推荐
GL_Rain4 分钟前
【OpenCV】Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
人工智能·opencv·计算机视觉
怀澈12239 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
nuclear20111 小时前
使用Python 在Excel中创建和取消数据分组 - 详解
python·excel数据分组·创建excel分组·excel分类汇总·excel嵌套分组·excel大纲级别·取消excel分组
chnming19871 小时前
STL关联式容器之set
开发语言·c++
Lucky小小吴1 小时前
有关django、python版本、sqlite3版本冲突问题
python·django·sqlite
威桑1 小时前
MinGW 与 MSVC 的区别与联系及相关特性分析
c++·mingw·msvc
熬夜学编程的小王1 小时前
【C++篇】深度解析 C++ List 容器:底层设计与实现揭秘
开发语言·数据结构·c++·stl·list
yigan_Eins1 小时前
【数论】莫比乌斯函数及其反演
c++·经验分享·算法
GIS 数据栈1 小时前
每日一书 《基于ArcGIS的Python编程秘笈》
开发语言·python·arcgis
Mr.131 小时前
什么是 C++ 中的初始化列表?它的作用是什么?初始化列表和在构造函数体内赋值有什么区别?
开发语言·c++