1 #include "opencv2/imgproc/imgproc.hpp" 2 #include "opencv2/highgui/highgui.hpp" 3 #include <math.h> 4 #include <stdlib.h> 5 #include <stdio.h> 6 7 using namespace cv; 8 9 /// 全局变量 10 Mat src, dst, tmp; 11 char* window_name = "Pyramids Demo"; 12 13 14 /** 15 * @函数 main 16 */ 17 int main( int argc, char** argv ) 18 { 19 /// 指示说明 20 printf( "\n Zoom In-Out demo \n " ); 21 printf( "------------------ \n" ); 22 printf( " * [u] -> Zoom in \n" ); 23 printf( " * [d] -> Zoom out \n" ); 24 printf( " * [ESC] -> Close program \n \n" ); 25 26 /// 测试图像 - 尺寸必须能被 2^{n} 整除 27 src = imread( "../images/chicky_512.jpg" ); 28 if( !src.data ) 29 { printf(" No data! -- Exiting the program \n"); 30 return -1; } 31 32 tmp = src; 33 dst = tmp; 34 35 /// 创建显示窗口 36 namedWindow( window_name, CV_WINDOW_AUTOSIZE ); 37 imshow( window_name, dst ); 38 39 /// 循环 40 while( true ) 41 { 42 int c; 43 c = waitKey(10); 44 45 if( (char)c == 27 ) 46 { break; } 47 if( (char)c == 'u' ) 48 { pyrUp( tmp, dst, Size( tmp.cols*2, tmp.rows*2 ) ); 49 printf( "** Zoom In: Image x 2 \n" ); 50 } 51 else if( (char)c == 'd' ) 52 { pyrDown( tmp, dst, Size( tmp.cols/2, tmp.rows/2 ) ); 53 printf( "** Zoom Out: Image / 2 \n" ); 54 } 55 56 imshow( window_name, dst ); 57 tmp = dst; 58 } 59 return 0; 60 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)