소개글
MFC를 이용한 히스토 그램 평활화입니다.소스코드 프로젝트 파일까지 다 첨부하여 압축 하였습니다.
목차
1.과제제목2.이론
3.소스설명
4.결과 및 분석
5. 전체 코드
본문내용
1, 과제설명어두운 영상을 히스토그램 평활화 시켜 화질 개선을 시켜 본다.
2.이론
1)히스토그램이란?
히스토그램의 사전적 의미는 데이터의 특징을 한눈에 알아볼 수 있도록 데이터를 막대그래프모양으로 나타낸 것이다. 예를 들어 한 학급의 키를 히스토 그램으로 나타내면 x축에는 일정한 간격으로 키를 표시해 주고 Y축에는 그 키에 해당하는 인원을 표시하는 것이다. 디지털 영상의 히스토그램도 마찬가지이다. 영상의 화소값을 X축에 나열하고 세로축에는 해당 화소값의 개수를 표현하는 것이다.
2)히스토그램 분포에 따른 명암
히스토그램의 명암 대비를 파악하는 방법을 알아보자 기둥이 왼쪽에 치우쳐 있으면 화소의 값이 작아 전체적으로 영상이 진하고 어두워진다. 반면 기둥이 오른쪽으로 치우쳐 있으면 영상이 오른쪽으로 치우쳐 화소 값의 전체적으로 커 영상이 작아진다.
히스토그램 기둥이 좁은 범위에 분포되어 있으면 명암 대비가 좋지 않고 반면에 히스토 그램의 기둥이 넓게 분포되어 있으면 명도차이가 적어 명암 대비가 좋지 않다.
3)히스토그램 평활화
카메라로 찍은 영상의 일부분이 너무 어두워서 확인하기 힘들었던 적이 한번 쯤 있었을 것이다. 히스토그램 평활화는 어둡게 촬영된 영상의 히스토그램을 조절하여 명암 분포가 빈약한 영상을 균일하게 만들어 준다. 이 기법은 히스토그램에 덧셈이나 뺄셈 등 산술연산을 수행하지 않아도 분포가 균일하게 되도록 만들어 준다. 평활화는 다음과 같은 단계로 나타낸다.
1단계: 명암 j의 빈도수를 계산하여 입력영상의 히스토그램을 생성한다.
.
.
..
참고 자료
없음압축파일 내 파일목록
HistoGramDebugHISTO-2.exe
HistoGramDebugHISTO-2.ilk
HistoGramDebugHISTO-2.pdb
HistoGramHISTO-2DebugBuildLog.htm
HistoGramHISTO-2DebugCL.read.1.tlog
HistoGramHISTO-2DebugCL.write.1.tlog
HistoGramHISTO-2DebugChildView.obj
HistoGramHISTO-2DebugHISTO-2.Build.CppClean.log
HistoGramHISTO-2DebugHISTO-2.exe.embed.manifest
HistoGramHISTO-2DebugHISTO-2.exe.embed.manifest.res
HistoGramHISTO-2DebugHISTO-2.exe.intermediate.manifest
HistoGramHISTO-2DebugHISTO-2.lastbuildstate
HistoGramHISTO-2DebugHISTO-2.log
HistoGramHISTO-2DebugHISTO-2.obj
HistoGramHISTO-2DebugHISTO-2.pch
HistoGramHISTO-2DebugHISTO-2.res
HistoGramHISTO-2DebugHISTO-2_manifest.rc
HistoGramHISTO-2DebugMainFrm.obj
HistoGramHISTO-2Debugcl.command.1.tlog
HistoGramHISTO-2Debuglink-cvtres.read.1.tlog
HistoGramHISTO-2Debuglink-cvtres.write.1.tlog
HistoGramHISTO-2Debuglink.command.1.tlog
HistoGramHISTO-2Debuglink.read.1.tlog
HistoGramHISTO-2Debuglink.write.1.tlog
HistoGramHISTO-2Debugmt.command.1.tlog
HistoGramHISTO-2Debugmt.dep
HistoGramHISTO-2Debugmt.read.1.tlog
HistoGramHISTO-2Debugmt.write.1.tlog
HistoGramHISTO-2Debugrc.command.1.tlog
HistoGramHISTO-2Debugrc.read.1.tlog
HistoGramHISTO-2Debugrc.write.1.tlog
HistoGramHISTO-2Debugstdafx.obj
HistoGramHISTO-2Debugvc100.idb
HistoGramHISTO-2Debugvc100.pdb
HistoGramHISTO-2resHISTO-2.ico
HistoGramHISTO-2resHISTO2.rc2
HistoGramHISTO-2ChildView.cpp
HistoGramHISTO-2ChildView.h
HistoGramHISTO-2HISTO-2.APS
HistoGramHISTO-2HISTO-2.cpp
HistoGramHISTO-2HISTO-2.h
HistoGramHISTO-2HISTO-2.rc
HistoGramHISTO-2HISTO-2.vcproj
HistoGramHISTO-2HISTO-2.vcproj.bong-vaio.bongbong.user
HistoGramHISTO-2HISTO-2.vcxproj
HistoGramHISTO-2HISTO-2.vcxproj.filters
HistoGramHISTO-2HISTO-2.vcxproj.user
HistoGramHISTO-2MainFrm.cpp
HistoGramHISTO-2MainFrm.h
HistoGramHISTO-2ReadMe.txt
HistoGramHISTO-2resource.h
HistoGramHISTO-2stdafx.cpp
HistoGramHISTO-2stdafx.h
HistoGramHISTO-2targetver.h
HistoGram_UpgradeReport_FilesUpgradeReport.css
HistoGram_UpgradeReport_FilesUpgradeReport.xslt
HistoGram_UpgradeReport_FilesUpgradeReport_Minus.gif
HistoGram_UpgradeReport_FilesUpgradeReport_Plus.gif
HistoGramipchhisto-2-f3696fchisto-2-4f4fc0f2.ipch
HistoGramHISTO-2.ncb
HistoGramHISTO-2.sdf
HistoGramHISTO-2.sln
HistoGramHISTO-2.sln.old
HistoGramHISTO-2.suo
HistoGramHISTO-2.suo.old
HistoGramUpgradeLog.XML
lena-dim.raw
lena-dim256.raw
lena256.raw
lena512.raw
영상HW2(히스토그램).hwp
HistoGramDebugHISTO-2.ilk
HistoGramDebugHISTO-2.pdb
HistoGramHISTO-2DebugBuildLog.htm
HistoGramHISTO-2DebugCL.read.1.tlog
HistoGramHISTO-2DebugCL.write.1.tlog
HistoGramHISTO-2DebugChildView.obj
HistoGramHISTO-2DebugHISTO-2.Build.CppClean.log
HistoGramHISTO-2DebugHISTO-2.exe.embed.manifest
HistoGramHISTO-2DebugHISTO-2.exe.embed.manifest.res
HistoGramHISTO-2DebugHISTO-2.exe.intermediate.manifest
HistoGramHISTO-2DebugHISTO-2.lastbuildstate
HistoGramHISTO-2DebugHISTO-2.log
HistoGramHISTO-2DebugHISTO-2.obj
HistoGramHISTO-2DebugHISTO-2.pch
HistoGramHISTO-2DebugHISTO-2.res
HistoGramHISTO-2DebugHISTO-2_manifest.rc
HistoGramHISTO-2DebugMainFrm.obj
HistoGramHISTO-2Debugcl.command.1.tlog
HistoGramHISTO-2Debuglink-cvtres.read.1.tlog
HistoGramHISTO-2Debuglink-cvtres.write.1.tlog
HistoGramHISTO-2Debuglink.command.1.tlog
HistoGramHISTO-2Debuglink.read.1.tlog
HistoGramHISTO-2Debuglink.write.1.tlog
HistoGramHISTO-2Debugmt.command.1.tlog
HistoGramHISTO-2Debugmt.dep
HistoGramHISTO-2Debugmt.read.1.tlog
HistoGramHISTO-2Debugmt.write.1.tlog
HistoGramHISTO-2Debugrc.command.1.tlog
HistoGramHISTO-2Debugrc.read.1.tlog
HistoGramHISTO-2Debugrc.write.1.tlog
HistoGramHISTO-2Debugstdafx.obj
HistoGramHISTO-2Debugvc100.idb
HistoGramHISTO-2Debugvc100.pdb
HistoGramHISTO-2resHISTO-2.ico
HistoGramHISTO-2resHISTO2.rc2
HistoGramHISTO-2ChildView.cpp
HistoGramHISTO-2ChildView.h
HistoGramHISTO-2HISTO-2.APS
HistoGramHISTO-2HISTO-2.cpp
HistoGramHISTO-2HISTO-2.h
HistoGramHISTO-2HISTO-2.rc
HistoGramHISTO-2HISTO-2.vcproj
HistoGramHISTO-2HISTO-2.vcproj.bong-vaio.bongbong.user
HistoGramHISTO-2HISTO-2.vcxproj
HistoGramHISTO-2HISTO-2.vcxproj.filters
HistoGramHISTO-2HISTO-2.vcxproj.user
HistoGramHISTO-2MainFrm.cpp
HistoGramHISTO-2MainFrm.h
HistoGramHISTO-2ReadMe.txt
HistoGramHISTO-2resource.h
HistoGramHISTO-2stdafx.cpp
HistoGramHISTO-2stdafx.h
HistoGramHISTO-2targetver.h
HistoGram_UpgradeReport_FilesUpgradeReport.css
HistoGram_UpgradeReport_FilesUpgradeReport.xslt
HistoGram_UpgradeReport_FilesUpgradeReport_Minus.gif
HistoGram_UpgradeReport_FilesUpgradeReport_Plus.gif
HistoGramipchhisto-2-f3696fchisto-2-4f4fc0f2.ipch
HistoGramHISTO-2.ncb
HistoGramHISTO-2.sdf
HistoGramHISTO-2.sln
HistoGramHISTO-2.sln.old
HistoGramHISTO-2.suo
HistoGramHISTO-2.suo.old
HistoGramUpgradeLog.XML
lena-dim.raw
lena-dim256.raw
lena256.raw
lena512.raw
영상HW2(히스토그램).hwp