언어/C

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

이게될까 2024. 5. 16. 01:07
728x90
728x90
  양방향 + bi 양 + bi + 양 양+bi+양+hy 양+bc+양+hy 양+tn+양+hy 양+hy+tn+양+hy
b 25.22 25.29 25.29 25.28 25.28 23.38
d 19.26 19.38 19.40 19.36 19.44 19.29
s 14.94 15.20 15.27 15.15 15.36 14.98
g 20.22 20.31 20.33 20.30 20.43 19.80

양+tn+양+hy가 제일 우수하다!

bc가 안나온건 예상 외지만 그래도 하나라도 건졌으니.....

삭제할 코드 저장용

void upsampling(int ratio, double* org, double* ups, BITMAPFILEHEADER bmpFile, BITMAPINFOHEADER bmpInfo, double* upy) {
	int width = bmpInfo.biWidth, height = bmpInfo.biHeight;
	int width2 = bmpInfo.biWidth * ratio, height2 = bmpInfo.biHeight * ratio;
	int stride2 = (((bmpInfo.biBitCount / 8) * width2) + 3) / 4 * 4, size2 = stride2 * height2;
	int nearestJ = 0, nearestI = 0;
	for (int j = 0; j < height2; j++) {
		for (int i = 0; i < width2; i++) {
			nearestJ = j / ratio;
			nearestI = i / ratio;
			ups[j * width2 + i] = org[nearestJ * width + nearestI];
			upy[j * width2 + i] = ups[j * width2 + i];
		}
	}


	bmpInfo.biWidth = width2;
	bmpInfo.biHeight = height2;
	bmpInfo.biSizeImage = size2;
	bmpFile.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + size2;
	makeOutFile(bmpFile, bmpInfo, "OutUPS.bmp", ups);


}

기본적인 업 샘플링 방식

이것도 나쁘지 않았던거 같은데.....

일단 이미 많이 지워서 딱히 지울만한게 안보이네

 

요고 잘잡는게 살짞 애매하네요 ㅠ

728x90