일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- pytorch
- 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습
- Algorithm
- DART
- system hacking
- MDP
- Image Processing
- Computer Architecture
- C++
- Dreamhack
- rao
- llm을 활용 단어장 앱 개발일지
- 백준
- ARM
- BAEKJOON
- Kaggle
- FastAPI
- fastapi를 사용한 파이썬 웹 개발
- 영상처리
- bloc
- PCA
- Got
- study book
- Stream
- Widget
- BOF
- ML
- Flutter
- BFS
- MATLAB
- Today
- Total
목록Image Processing (7)
Bull

https://codcost.tistory.com/137 [Image Processing] Gaussian and Butterworth Notch Filter과제우선 학교 과제로 한건데, 자료도 없고,,, 지식도 없어서 GPT한테 땡깡 부리면서 만들었다. 정확히 맞는 건지는 모르지만 대략적으로 적용된 거 같아서 포스팅으로 남긴다.요구 사항우선 "무codcost.tistory.com이전 글과 연계되는 과제이므로 간략하게 적겠다. 요구사항우주에서 찍은 토성 고리사진이다. 위성에서 전달받아 우주에 있는 잡음에 의해 사진이 손상되었다. 주파수 영역을 확인하고 에너지가 큰 부분(흰색 영역)을 filter로 가려보자. banded notch filter 공식은 따로 없고 표기를 위한 공식만 있다. 그냥 식 대입하면..

과제우선 학교 과제로 한건데, 자료도 없고,,, 지식도 없어서 GPT한테 땡깡 부리면서 만들었다. 정확히 맞는 건지는 모르지만 대략적으로 적용된 거 같아서 포스팅으로 남긴다.요구 사항우선 "무아레 패턴"이 들어간 자동차 앞부분 사진이다. 이 패턴을 FFT를 통해 주파수 스펙트럼을 확인하면 다음과 같다. 여기서 흰 것이 쌜수록 에너지가 크다. 그 부분이 잡음에 해당된다. Filter를 통해 흰 부분은 어둡게 가려주면 잡음이 어느정도 사라진다.x = fftshift(fft2(im));xout = log(1+abs(x));imshow(xout, []);위 코드로 주파수 스펙트럼을 확인할 수 있다. 이제 Gaussian 과 Butterworth의 공식을 적용해서 바꾸면 된다. Gaussian Notch Rej..

개념 히스토그램 평활화는 이미지의 히스토그램에서 너무 치우쳐진 부분을 평활하게 만들어 주는 기법이다. 즉, 위의 그림과 같이 빈도 수가 높은 부분은 낮게, 낮은 부분은 높게 하여 동등하게 만들어준다. 방법은 다 알고나면 간단해 보일지 모르겠지만 나름 고민을 많이 했던 주제였다. 과정 ① 우선 흑백으로 만든 후 사진의 gray level의 개수를 담을 배열을 잡아준다. 난 교재에서 level이 0~7이 길래 255크기를 log_scale로 나누는 건가.. 아니면 그냥 임의의 숫자로 나누는 건가 싶어서 몇 시간을 고민했는데, 임의로 나눠도 되고, 아무렇게나 기준을 잡아 단계를 나누면된다. 빽빽한 히스토그램이 보고싶으면 0~255로 배열을 만들면 된다. [0,1,2,3,4,....255] ② 배열에 담긴 숫자..

개념 아래의 사진과 같이 특정 구간(A-B)에서의 강도나 대비를 다른 함수를 통해 바꿔주는 방법을 말한다. 함수는 고등학교때 배운 범위별 케이스로 나누는 함수를 생각하면 된다. 종류 Contrast Stretching 이 기법은 명암을 좀더 대비시켜 준다. Intensity Level Slicing 이 기법은 특정 강도(밝기)를 강조시켜준다. 코드 코드는 intensify level slicing을 예제로 해보겠다. 함수는 intensify level slicing 사진의 1번째 도표와 비슷하게 만들어 주었다. img = imread("dog.jpg"); img = uint8(mean(img,3)); A=150; B=200; [m,n] = size(img); for i=1:m for j=1:n if im..

개념 Digital Image Processing (Rafael C . Gonzalez , Richard E. Woods) 책에서 제시한 바에 따르면 명도 변환을 위해 기존의 픽셀 값은 다음과 같은 공식을 적용할 수 있다. $${s=cr^γ}$$ 여기서 c와 γ는 내가 정해줄 상수이다. $c$는 상수이고 $γ$값을 조절할 때 input-output 관계는 위 사진같은 그래프를 따른다. $γ$ = 1을 기준으로, $γ$ > 1은 밝아지고 $γ$ < 1은 어두워진다. 또한, $γ$값이 너무 커 범위 255를 넘어버리면 uint8()로 인해 최대 255값을 나타낸다. 어떤 $c$와 $γ$값이 최적화된 값인지는 잘 모르겠지만 보통 $c=1$ 상태에서 $γ$를 조절해주는 것이 일반적인 것으로 보인다. 사진 생성형..

negative image를 만들 것이다. 이 방법은 정말 쉽다. 미리 말하자면 1차원 흑백사진의 총 길이 255에서 값을 빼주면된다. 준비 다음과 같이 흑백이된 사진을 준비한다. 흑백 만들기 스크립트 gray_awakening_frieren.m img = imread("awakening_frieren.jpg"); grayscale_img = uint8(mean(img,3)); imshow(grayscale_img) Negative Image 위의 흑백 만들기 스크립트에서 한줄이 추가 됐기 때문에 바로 스크립트로 보일 것이다. negative_awakening_frieren.m img = imread("awakening_frieren.jpg"); grayscale_img = uint8(mean(img,3..

오늘 수업시간에 배운 MATLAB으로 컬러사진을 흑백으로 만들기를 해볼 것이다. 사진: 변경 전 - 변경 후 설명 업로드 우선 작업공간의 디렉토리에 아무 사진을 올려준다. imread("파일명") >> img = imread("dog.jpg"); 함수명을 보면 알 수 있듯이 이미지를 배열에 담아 변수로 저장한다. "값" 필드를 보면 1000x750x3인 걸 알 수 있는데 여기서 3은 RGB 채널의 수이다. 그리고 RGB는 (0~255, 0~255, 0~255)로 표현할 수 있기 때문에 uint8(unsigned int 8bit)로 표현이 된다. (즉 양수 8bit) 따라서 영상(이미지)이 bit(pixel?)세계에서는 3차원으로 간주할 수 있는 것이다. 흑백 만들기 흑백을 만들기 위해 3채널 구조에 대해..