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

devtools/2024/9/23 9:39:48/

c++代码,其中scale_percent用来设置百分比,例如50 就是百分之五十,也就是一半的大小,当然也可以设置成200,相当于原来的2倍大小,注意图片路径换成实际路径。

#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%)

#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()


http://www.ppmy.cn/devtools/91137.html

相关文章

内网穿透--LCX+portmap转发实验

实验背景 通过公司带有防火墙功能的路由器接入互联网&#xff0c;然后由于私网IP的缘故&#xff0c;公网 无法直接访问内部web服务器主机&#xff0c;通过内网其它主机做代理&#xff0c;穿透访问内网web 服务器主机 实验设备 1. 路由器、交换机各一台 2. 外网 kali 一台&…

代码随想录算法训练营day36:动态规划04:1049.最后一块石头的重量II;494.目标和;474.一和零

1049.最后一块石头的重量II 力扣题目链接(opens new window) 有一堆石头&#xff0c;每块石头的重量都是正整数。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果如下&…

力扣(2024.08.07)

1. 637&#xff1a;二叉树的层平均值 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def averageOfLevels…

从网络上下载并展示图像数据

一、代码 from PIL import Image import requests from io import BytesIO import matplotlib.pyplot as pltimage_url "https://www.alleycat.org/wp-content/uploads/2019/03/FELV-cat.jpg" response requests.get(image_url) # response.content 获取 HTTP 响…

企业数据接口:icp备案查询

根据ICP备案相关参数&#xff0c;筛选ICP备案信息 全量企业数据看&#xff0c;支持个性化定制。

前端使用docx-preview展示docx + 后端doc转docx

文章目录 后端 doc 转 docxdcox - preview安装导入使用注意 最近菜鸟刚搞完签字&#xff0c;结果需求就加了&#xff0c;如果合同有附件&#xff08;.doc.docx&#xff09;&#xff0c;签名就是签到附件里面&#xff0c;没有附件才是签到那个html里面&#xff01; 这里附件签名…

最佳实践!豆瓣评分9.2的Web渗透攻防技术实战手册!

Web渗透攻防技术可以通过以下方法自学&#xff1a; 通过安全站点漏洞更新通告和安全文章了解漏洞的形成原理和利用过程&#xff0c;掌握漏洞的核心原理&#xff1b;在本地搭建试验环境进行实际测试&#xff0c;掌握漏洞的利用方法&#xff1b;在互联网上对存在漏洞的站点进行实…

软设之TCP/IP协议

TCP/IP协议模型 分为应用层&#xff0c;传输层&#xff0c;网际层&#xff0c;网络接口层 其中应用层对应OSI七层模型中的应用层&#xff0c;表示层&#xff0c;会话层。 传输层对应OSI七层模型的传输层 网际层对应OSI七层模型中的网络层 网络接口层对应OSI七层模型数据链…