OpenCV学习笔记07--用滚动条控制图片缩放
来源:互联网 发布:淘宝发布二手商品 编辑:程序博客网 时间:2024/05/29 02:09
练习:通过滚动条控制图片的缩放
这个练习要实现的功能是通过控制滚动条来控制图片的缩放,由于如果缩放的太小不足以显示出滚动条,就不能对其进行调整了,因此我们计划实现控制滚动条使长度和宽度缩小2倍,4倍。
我们使用cvPyrDown进行缩放,输出图像的长度和宽度只能是输入图像的一半。我们如果要缩放二倍以上,就必须使用两次以上cvPyrDown,所以只能缩小2倍,4倍,8倍。。。
在练习中使用的都是之前学到的函数,通过构造两个图像结构,通过循环控制其缩小二倍以上,具体代码如下:
#include "stdafx.h"#include "cv.h"#include "highgui.h"int g_slide = 0;IplImage *src1,*src2;IplImage* img = cvLoadImage("D:\\2.jpg");void dragSize(int g_slide){int i = g_slide+1;src1 = cvCreateImage(cvSize(img->width, img->height), img->depth, img->nChannels);src2 = cvCreateImage(cvSize(img->width, img->height), img->depth, img->nChannels);cvCopy(img, src1);cvCopy(img, src2);for (; i > 1; i--){if (i % 2 == 0){ src2 = cvCreateImage(cvSize(src1->width / 2, src1->height / 2), src1->depth, src1->nChannels); cvPyrDown(src1, src2);}if (i % 2 != 0){src1 = cvCreateImage(cvSize(src2->width / 2, src2->height / 2), src2->depth, src2->nChannels);cvPyrDown(src2, src1);}}cvShowImage("test", src2);}int _tmain(int argc, _TCHAR* argv[]){cvNamedWindow("test", 1);cvCreateTrackbar("drag", "test", &g_slide, 2,dragSize);src1 = cvCreateImage(cvSize(img->width/2, img->height/2), img->depth, img->nChannels);cvPyrDown(img, src1);cvShowImage("test",img);cvWaitKey(0);cvReleaseImage(&src1);cvReleaseImage(&src2);cvDestroyWindow("test");return 0;}
0 0
- OpenCV学习笔记07--用滚动条控制图片缩放
- opencv 加滚动条进行图片缩放 入门级
- 【opencv学习笔记】1、opencv缩放图片
- OpenCV学习笔记_缩放图片
- OpenCV学习笔记02--利用滚动条控制视频;高斯滤波处理图像。
- 根据滚动条位置缩放图像(学习OpenCV课后题 2.5)
- Selenium学习笔记之013:控制滚动条到底部
- 滚动条学习笔记
- opencv中用滚动条来控制二值化
- OpenCV学习笔记(21)在OpenCV窗口中创建滚动条浏览大图
- OpenCV学习-第二章-视频播放控制-支持滚动条随着视频播放自动移动
- canvas实现滚动条缩放图片的demo
- OpenCV学习——滚动条
- Opencv学习 Canny加滚动条
- OpenCV Learning: 视频播放控制,滚动条可控
- python opencv入门 滚动条控制调色板(5)
- 滚动图片缩放
- opencv 2.x学习笔记(八)滚动条、混合图像
- 欧拉工程第47题:Distinct primes factors
- PopupWindow的使用
- iOS开发技巧点滴
- undefined reference to" 问题解决方法
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- OpenCV学习笔记07--用滚动条控制图片缩放
- Windows Search, Index, Windows Update等服务不能启动
- 黑马程序员
- MD5哈希算法学习
- C++实现费马小定理素数测试
- 黑马程序员_java语言_Map集合
- Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC
- Java加密技术(二)——对称加密算法DES&AES
- 中奖计算