2012-02-04 3 views
2

C++에서 비트 맵을로드, 작성 및 편집하는 데 유용한 자습서 나 책이 있는지 궁금합니다. 비트 맵을 픽셀 단위로 편집해야하지만 튜토리얼에서는 그 방법을 보여주지 않습니다. 비트 맵이 어떻게 작동하고 위키피디아가 조금 도움이되었는지 이해하고 싶습니다.C++에서 비트 맵 편집

+0

너무 광범위 질문 – BitBank

+0

[ "C++을 사용하여 BMP 파일을 읽고 쓰는 가장 간단한 방법은 무엇입니까?] [1]을 보셨습니까? [1] : http://stackoverflow.com/q/199403/6294 – Maggie

+0

@ user1183602 "비트 맵"모호한 용어 일 수있다. ".bmp"로 끝나는 파일에 대해 이야기하고 있습니까? 아니면 그냥 메모리에있는 이미지? 또는 다른 것? –

답변

3

픽셀 수준에서 비트 맵을 조작하려면 이미지 처리 학습을 시작한 다음 비트 맵 파일 형식에 대해 읽어야합니다. 그것은 C++ 문제가 아닙니다. C++은 그런 작업에서 케이크를 장식하는 것입니다. http://www.archive.org/details/Lectures_on_Image_Processing

을 그리고 여기 BMP 파일 형식의 설명입니다 :

여기 이미지 처리에 대한 몇 가지 강의를 찾을 수 있습니다 http://www.fileformat.info/format/bmp/spec/e27073c25463436f8a64fa789c886d9c/view.htm

쉽게뿐만 아니라 다른 형식에 대한 소스를 많이 찾을 수는. 행운을 빌어, 나는 대학에서 3 년간이 주제를 연구 해왔다 ... David Grayson이 충고 한 것처럼 실제로 오픈 소스 라이브러리를 사용해야한다고 생각한다.

+0

나는 지난 2 일 동안 BMP에 관해 공부했지만 실제로해야할 일은 나중에 각 픽셀에서 R, G 및 B 색상 값을 읽음으로써 나중에 사용할 수 있도록하는 것입니다. 나는 m * n 인 행렬을 만들 필요가있다. 여기서 m은 너비이고 n은 이미지의 높이이고 각 요소에는 색 값을 저장한다. 어떻게 할지를 알아낼 수 없다. – Transcendental

+0

어떤 플랫폼에? – vitakot

+0

on windows 7 ... – Transcendental

1

Google을 이미 검색했지만 아무 것도 찾을 수 없다고 가정합니다.

내가 너라면, 먼저 비트 맵의 ​​이진 형식에 대해 배울 것입니다. WinHex 또는 ghex2와 같은 16 진수 편집기를 사용하여 사양을 읽거나 비트 맵 파일을 보면이 기능에 대해 알 수 있습니다.

다음은 파일을 읽고 C++에서 이진 데이터로 작업하는 방법을 배웁니다.

하지만 그냥 마법 (magick) ++ 라이브러리를 사용하면 정말 당신은 아마 많은 노력을 절약 할 수 있습니다 :

http://www.imagemagick.org/Magick++/

2

당신 만 편집 할 형식에 대해 배울 필요가 비트 맵을 편집하려면 . 구성 요소 당 몇 비트, 픽셀 당 구성 요소의 수, 정의 된 너비와 높이가 어디인지, 해당 서식 파일의 표준은 무엇입니까? 인기있는 BMP를 사용하려는 경우이 모든 것을 Wikipedia에서 찾을 수 있습니다.

이 모든 것이 너에게 의미가 없으면 디지털 이미지 처리에 대한 자습서를 먼저 시도해야합니다.

이미지는 특정 개수의 구성 요소가있는 구조 (픽셀)의 배열 일 뿐이며 원하는 버전을 만들기 위해 상기 배열을 읽고 쓸 필요가 있습니다. 그러나 일반적인 작물 및 픽셀 교체가 거의 사소한 경우에도 고급 개정판 및 변경 사항은 없지만 경고해야합니다.

관련 문제