Bitwise Operation문제1 : bitwise and, or, xor, not정답 코드#include // ...int main(void){ // ... int x = 10; int y = 200; int z; z = x & y; z = x | y; z = x ^ y; z = ~x; printf("%d \n", z); printf("%02X,\n", z); // ...} 문제 2 : XOR를 이용하는 두 개의 변수 (a,b) → (b,a) swapping정답 코드#include // ...int main(void){ // ... int a = 10; int b = 200; printf("%d %d\n", a, b); a = a ^ b; b = a ^ b; a = a ^ b; printf("%d..
압축 기술문제 1 : 차분 데이터의 Histogram1. Grayscale Lenna에서 차분 값 Δ=X-(A+C)/2를 구한다.2. Δ는 음수값이 나오므로 +128을 add 한다. 다음에 음수값은 0으로, 255를 초과하면 255로 clipping 해야 함.3. 차분 데이터의 histogram을 출력한다. 정답 코드#include // ...int main(void){ // ... int histogram[256]; for (int i = 0; i 255) sum = 255; if (sum 결과더보기Y frequency 0 : 0 1 : 0 2 : 0 3 : 0 4 : 0 5 : 0 6 : 0 7 : 0 8 : 0 9 : 0 10 : 0 11 : 0 12 : 0 13 ..
영역처리문제1 : Gonzales & Woods Threshold 결정grayscale Lenna를 이용하여 Gonzales & Woods algorithm을 이용하여 임계치 T를 구한 후, [0, 255]의 binary image를 얻으시오.*iterative 반복문으로 for문이 필요하다.임계값(Threshold) 자동 결정 방법(Gonzales - Woods)1. 임계값 T의 초기값을 추정한다. (제안된 추정 값은 영상에서 밝기값의 최소값과 최대값 사이의 중간점) >> 초기 임계값 T0 = (Ymax + Ymin) / 22. T로 이진화(binarization)한다. 그 결과는 밝기값이 T보다 큰 화소들로 구성된 그룹(G1)과 밝기값이 T보다 작은 화소들로 구성된 그룹(G2)의 화소들로 나누어진다...
Bitwise Operation문제 1 : Pixel FillingRGB Lena24.bmp에서 (x, y) = (j, i) = (235, 254)의 한 개의 pixel을 white로 filling 한다. 정답 코드#include // ...int main(void){ // ... for (int i = 0; i 결과 문제 2 : Region Fillingrectangle의 vertex 좌표 (100, 100), (300, 300)의 내부를 yellow로 filling 한다.정답 코드#include // ...int main(void){ // ... for (int i = 0; i = 100 && i = 100 && j 결과 문제 3 : 이진화 (Binarization)grayscale영상 Y의 ..
Filtering 실습1 Disoolve 구현두 개의 파일을 읽고, 아래 수식의 디졸브를 구현합니다. a = 0.3, a = 0.7일 때를 각각 저장하세요. 실습1 정답#include "opencv2/opencv.hpp"#include int main(void){ cv::Mat src1, src2, dissolve3, dissolve7; src1 = cv::imread("cat.bmp"); // cat.bmp src2 = cv::imread("tibetfox.bmp"); // tibetfox.bmp src1.copyTo(dissolve3); src1.copyTo(dissolve7); if (src1.empty() || src2.empty()) { std::cerr (y, x)[0] = src1.at(y..
개념MatOpenCV에서 사용하는 이미지 단위. 왼쪽 위에서 시작하여 왼쪽에서 오른쪽으로, 위에서 아래 방향으로 픽셀 값을 저장한다.Mat 객체에 접근하여 이미지를 픽셀 단위나 채널 단위로 값을 확인하거나 바꿀 수 있다.칼라의 경우 B, G, R 순서로 값이 저장되어 있다.값은 unsigned char(uchar)로 저장됨. (범위 : 0 ~ 255)at을 통해 배열 요소에 접근한다. Gray Scale : image.at(y, x);Color : image.at(y, x)[channel]; // 배열의 인덱스로 B, G, R 요소에 접근 가능image.at(y, x)[0]; // Blueimage.at(y, x)[1]; // Greenimage.at(y, x)[2]; // Redcv::saturate_..