图像缩放变换
来源:互联网 发布:如何进行网络视频直播 编辑:程序博客网 时间:2024/05/21 08:50
作为代码界的菜鸟,最近在尝试着用vs实现《数字图像处理与机器视觉》一书中有关图像处理的VC++代码。目前先从简单的图像几何变换做起,希望能记录自己的成长^_^
本篇是图像缩放变换的实现。
#include <iostream>#include <mat.h>#include <opencv2\core\core.hpp>#include <opencv2\highgui\highgui.hpp>#include <opencv2\imgproc\imgproc.hpp>using namespace std;using namespace cv;/********************************************void scale(Mat img, Mat &dst, double times)功能: 图像的等比例缩放注: 包括放大和缩小参数: Mat img:原图像 Mat dst:转置后图像 double times: 缩放的倍数返回值: 无*********************************************/void scale(Mat img, Mat &dst, double times){ int nH = img.rows; int nW = img.cols; int dH = nH*times; int dW = nW*times; dst.create(dH, dW, img.type()); int i, j; for (i = 0; i < dH; i++) { for (j = 0; j < dW; j++) { if (int(i/times + 0.5) < nH&&int(j/times + 0.5) < nW) dst.at<Vec3b>(i, j) = img.at<Vec3b>(int(i / times + 0.5), int(j / times + 0.5)); else dst.at<Vec3b>(i, j) = 0; } }}int main(){ Mat img = imread("1.jpg"); imshow("原图", img); Mat dst1; //缩放变换 //scale(img, dst1,1.3); //imshow("缩放变换", dst1); waitKey(0); return 0;}
结果图如下:
原图:
放大1.3倍结果:
缩小0.8倍结果:
0 0
- 图像缩放变换
- OpenCV 几何变换-图像缩放
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- OpenCV-图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 图像几何变换:旋转,缩放,斜切
- OpenCV-图像几何变换:旋转,缩放,斜切 .
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 单链表的逆置
- URI转换Utils
- PDO 解析
- maven的相关使用
- 关于datetimepicker选择时间时 时间不改变的问题
- 图像缩放变换
- 贝叶斯分类器(一):朴素贝叶斯分类器与半朴素贝叶斯分类器
- centos7.1 FastDFS配置
- android第三方应用跳转到QQ并指定QQ号聊天
- 美国大选在即,希拉里“邮件门”惹祸
- 不同操作系统不同平台编译出的程序一致不
- java_swing基础
- 欢迎使用CSDN-markdown编辑器
- 多图下载的缓存机制