OpenCV 학습 노트 07-스크롤 바 로 그림 크기 조절
1769 단어 OpenCV 학습 노트OpenCV
이 연습 이 실현 하고 자 하 는 기능 은 스크롤 바 를 제어 하여 그림 의 크기 를 조절 하 는 것 입 니 다.크기 가 너무 작 으 면 스크롤 바 를 표시 할 수 없 기 때문에 스크롤 바 를 제어 하여 길이 와 너 비 를 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;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
OpenCV 학습 노트 07-스크롤 바 로 그림 크기 조절연습:스크롤 바 를 통 해 그림 의 크기 를 조절 합 니 다. 이 연습 이 실현 하고 자 하 는 기능 은 스크롤 바 를 제어 하여 그림 의 크기 를 조절 하 는 것 입 니 다.크기 가 너무 작 으 면 스크롤 바 를 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.