언어 31

C언어 영상처리 과제 - compression, Quantization

C언어 문자열 다루는게 기억이 안나서 막 짰는데 그것 때문에 코드가 많이 지저분해 진 것 같은데,,,#define _CRT_SECURE_NO_WARNINGS#include#include#include#include #includevoid DPCMEncoder(double*, int*, int, BITMAPFILEHEADER, BITMAPINFOHEADER);void write_matrix_to_file(const char* filename, int* matrix, int height, int width);void makeOutFile(BITMAPFILEHEADER bmpFile, BITMAPINFOHEADER bmpInfo, char* fileName, double* y);int main() { BITM..

언어/C 2024.06.05

C언어 영상처리 - DPCM

뭉쳐있는 영역은 비슷한 픽셀을 가진다! -> 차이만 전달해서 용량을 줄여보자!제일 왼쪽 값에서 차이를 구하고, 그걸 5구간으로 나눠서 용량을 줄인다!코드에서 q가 0 ~ q-1까지를 하나로 본다는 뜻 입니다.더보기중간 값(128)이 있다는 가정 하에 차이(-28)를 전송 정보 손실 없는 압축 == 무손실 압축 여기는 무손실 압축 ( q가 없다) 비슷한 값이므로 확률적으로 예측한다. 데이터를 깎는다 ==Quantization = 양자화데이터를 깎아서 적은 양의 데이터를 주고 받게 한다.이 작업이 있으면 손실 압축 (q) 양자화가 커지면 데이터 손실도 늘어난다.Prediction Error까지는 무손실 압축Quantization은 손실 압축 - 정수 단위로 바뀐다. 손실이 일어난다. 왜 두번째는 0이 아닌가..

언어/C 2024.05.23

C언어 영상처리 - 노이즈 제거, 업스케일링 기록용

양방향 + bi양 + bi + 양양+bi+양+hy양+bc+양+hy양+tn+양+hy양+hy+tn+양+hyb25.2225.2925.2925.2825.2823.38d19.2619.3819.4019.3619.4419.29s14.9415.2015.2715.1515.3614.98g20.2220.3120.3320.3020.4319.80양+tn+양+hy가 제일 우수하다!bc가 안나온건 예상 외지만 그래도 하나라도 건졌으니.....삭제할 코드 저장용void upsampling(int ratio, double* org, double* ups, BITMAPFILEHEADER bmpFile, BITMAPINFOHEADER bmpInfo, double* upy) { int width = bmpInfo.biWidth, heigh..

언어/C 2024.05.16

C 언어 영상처리 - Sobel Filter, 윤곽선 검출, Edge Detection

2024.05.02 - [언어/C] - C언어 영상처리 Edge 구하기, threshold 구하기[C언어 영상처리 Edge 구하기, threshold 구하기edge는 명암, 휘도 등이 급격하게 변하는 곳 입니다.만약 물체가 동일한 색 이라면 경계의 색 차이가 크게 나지 않겠지요 ..그래도 색 차이가 큰 곳에서는 대부분 경계가 잘 드러납니다.x,y에 대한yoonschallenge.tistory.com](https://yoonschallenge.tistory.com/480)이전에 진행했던 내용이랑 비슷합니다.x필터만 적용했을 때y필터만 적용했을 때x+ythreshold를 넘긴 부분만 표현했을 때void sobelEdgeMap(double* y, int width, int height, BITMAPFILEHE..

언어/C 2024.05.07

이미지에서 텍스트(한글, 영어, 숫자) 인식하기 - Python

https://www.developer.com/languages/python/extract-text-images-python/ Extracting Text from Images in Python | Developer.comLearn how to extract text from images and process images using Google’s Tesseract, MAriaDB, and Python, complete with code examples.www.developer.com홈페이지입니다!여기서 기본 코드는 가지고 왔씁니다.이러한 사진에서 텍스트를 추출해달라고 해서 한번 해봤는데,.....ㅠ이미지가 너무 지저분해서 잘 안되더라고여일단 하나하나 차근차근 진행해줬습니다..이거 설치해줍니다. 그냥 다..

언어/Python 2024.05.07

C언어 영상처리 Edge 구하기, threshold 구하기

edge는 명암, 휘도 등이 급격하게 변하는 곳 입니다.만약 물체가 동일한 색 이라면 경계의 색 차이가 크게 나지 않겠지요 ..그래도 색 차이가 큰 곳에서는 대부분 경계가 잘 드러납니다.x,y에 대한 기울기를 통해 구할 수 있습니다.우리는 영상을 사용하므로 딱딱 끊어져 있으므로 center를 통해 구할 수 있습니다.임계값보다 크면 edge로 판단할 수 있는데 이 임계값이 문제네요threshold값을 보면 엄청 작은 것을 알 수 있다.threshold값을 넘는 것을 edge로 보고 확실하게 표시하도록 하겠다.오............ㅠ......엣지를 잘 따는 것 같기는 한데....노이즈가 슬슬 끼네요....어우 무섭네...원본 edge가 이정도인걸 보면 그래도 많이 살렸네요흠....이건 그래도 저장 했으니..

언어/C 2024.05.02

C언어 영상처리 - Rotation

이건 좌측 하단이 회전축 void Rotation(double* y, int width, int height, double theta, BITMAPFILEHEADER bmpFile, BITMAPINFOHEADER bmpInfo) { theta = theta / 180 * PI; double* gy; gy = (double*)calloc(width * height, sizeof(double)); for (int j = 0; j =0 && x2 = 0 && y2  이건 영상 중앙을 중심 좌표로 잡아 돌린다.void Rotation(double* y, int width, int height, double theta, BITMAPFILEHEADER bmpFile, BITMAPINFOHEADER bmpInfo) ..

언어/C 2024.04.30

선형대수 및 프로그래밍 과제 python 2 - gauss-Jordan Elimination 사용하여 해 구하기 , ref

f = open('input.txt','r') g = open('output.txt','w') a= f.readline().split() g.write(str(a) + "\n") a= f.readline().split() row=int(a[0]) column=int(a[1]) ahang = [[0]*(column+2) for x in range(row)] for i in range(0,row): a= f.readline().split() for j in range(0,column+1): if (j==column): ahang[i][j+1]=float(a[j]) ahang[i][j]='l' else: ahang[i][j]=float(a[j]) for x in range (row): for z in rang..

언어/Python 2024.04.21
728x90
728x90