OpenCV 이미지 피라미드 구현 예시

본 고 는 주로 OpenCV 이미지 피 라 미 드 를 소 개 했 는데 어느 정도 참고 가치 가 있 으 므 로 관심 이 있 는 것 은 알 아 볼 수 있다.
가우스 피라미드 reduce
void cv::pyrDown()
expand
void cv::pyrUp()
1.가우스 피라미드
이미지 피 라 미 드 는 입력 이미지 에 대해 먼저 모호 한 다음 에 샘플링 을 원래 의 높이,너비 의 1/2 로 하고 모호 한 것 과 아래 의 샘플링 과정 을 계속 반복 하면 서로 다른 해상도 의 출력 이미 지 를 얻 고 겹 치면 이미지 피 라 미 드 를 형성한다.
고 스 피 라 미 드 는 먼저 고 스 퍼 지 를 한 다음 에 reduce 와 expand 작업 을 한다.가우스 피라미드 의 높 은 등급(낮은 해상도)은 낮은 등급(높 은 해상도)이미지 의 연속 줄 과 열 을 삭제 함으로써 형 성 된 것 이다.그 다음 에 높 은 등급 의 모든 픽 셀 은 기본 등급 의 5 개의 픽 셀 의 공헌 과 고 스 의 가중치 로 형성 된다.이렇게 해서 M.×N 이미지 가 M/2 로 바 뀌 었 습 니 다.×N/2 그림.그래서 면적 은 원시 면적 의 4 분 의 1 로 줄 었 다.그것 은 Octave 라 고 부른다.
cv::pryDown()

C++ void cv::pyrDown(cv::InputArray src, cv::OutputArray dst, 
                     const cv::Size &dstsize = cv::Size(), int borderType = 4)
cv::pryUp()

C++ void cv::pyrUp(cv::InputArray src, cv::OutputArray dst, 
                   const cv::Size &dstsize = cv::Size(), int borderType = 4)
2.라 프 라 스 피라미드
가우스 피라미드 의 연산 과정 에서 이미 지 는 볼 륨 과 샘플링 작업 을 통 해 일부 고주파 디 테 일 정 보 를 잃 어 버 릴 수 있다.이러한 고주파 정 보 를 묘사 하기 위해 사람들 은 라 프 라 스 피라미드(Laplacian Pyramid,LP)를 정의 했다.가우스 피라미드 의 모든 층 이미지 로 이전 층 이미지 에서 샘플링 하고 가우스 볼 륨 후의 예측 이미 지 를 빼 면 일련의 차이 점 이미 지 를 얻 을 수 있 습 니 다.즉,LP 분해 이미지 입 니 다.먼저 피라미드 의 reduce 작업 을 하고 expand 작업 을 한 다음 에 라 프 라 스 피 라 미 드 를 상쇄 해 야 한다.L=G-expand(reduce(G))
코드 1:

#include<opencv2/opencv.hpp>
#include<iostream>
#include<imgproc.hpp>
using namespace cv;
using namespace std;
 
int main(int argc, char** argv) {
	Mat image = imread("C:/Users/YY/Pictures/Saved Pictures/1.jpg");
	Mat out;
	imshow("  ", image);
	pyrDown(image, out);
	imshow("   ", out);
	pyrUp(out, out);
	imshow("   ", out);
	subtract(image, out, out);
	imshow("       ", out);
	waitKey(0);
	destroyAllWindows();
	return 0;
}




여기 서 OpenCV 이미지 피라미드 의 실현 예시 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 OpenCV 이미지 피라미드 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기