Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
칼라 이미지를 그레이로 변환하는 방법좀...
안녕하십니까...
델파이로 영상처리를 구현 해 볼라고 하는데요...
칼라 이미지를 그레이로 변환 하는 방법좀 알려 주세요...
이미지 처리쪽은 첨이라 막막 하네요..
감사합니다.
그럼 추운날씨에 감기 조심하세요.
3
COMMENTS
조규춘
•
2000.10.18 06:42
이광형 wrote:
> 안녕하십니까...
> 델파이로 영상처리를 구현 해 볼라고 하는데요...
> 칼라 이미지를 그레이로 변환 하는 방법좀 알려 주세요...
> 이미지 처리쪽은 첨이라 막막 하네요..
> 감사합니다.
> 그럼 추운날씨에 감기 조심하세요.
안녕하십니까??
델세상(http://www.freechal.com/delphiworld)의 조규춘입니다.
오랫만에 QNA에 온거 같군요.. ^^ 바쁜척하느라구요.. ^^
우선 소스부터 보여드리자면...
테스트 해봤더니...
두가지 방법으로 해봤습니다.
한가지 방법은...
Image1.Picture.Bitmap.Monochrome := True;
이소스 처럼..
Monochrome 를 해주면 되긴 하는데..
문제는 2bit gray가 된다는 점입니다.
그러니깐 검정아니면 흰색.. 쩝.. 이건그렇겠지요?
또하나는
픽셀을 일일이 바꾸어 주는 방식입니다.
그런데..
296*180 사이즈인데.. 한 11초 걸리더군요..^^
그럼 행복하셔요~
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, jpeg, ExtCtrls, TFlatGaugeUnit, ComCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
ProgressBar1: TProgressBar;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
// Color를 Gray로 바꾸기..
Function RGBToGray(RGBColor:TColor):TColor;
Var
Gray : Byte;
Begin
Gray:= Round((0.30*GetRValue(RGBColor)) +
(0.59*GetGValue(RGBColor)) +
(0.11*GetBValue(RGBColor )));
Result:= RGB(Gray, Gray, Gray);
End;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
Var
LoopX, LoopY : Integer;
ValueGauge : Integer;
begin
// 진행도 표시를 위해서....
// 296*180 사이즈인데.. 한 11초 걸린다.
ProgressBar1.Max := Image1.Width * Image1.Height;
ValueGauge := 0;
// 그림을 픽셀을 하나하나씩 가져온다.
// 그리고 바꾸어 준당..
With Image1.Picture.Bitmap.Canvas do
For LoopY:= 0 to Image1.Height do
For LoopX:= 0 to Image1.Width do
begin
Pixels[LoopX, LoopY]:= RGBToGray(Pixels[LoopX, LoopY]);
inc(ValueGauge);
ProgressBar1.Position := Valuegauge; // 게이지에 표시...
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Image1.Picture.Bitmap.Monochrome := True;
end;
end.
0
0
삭제
수정
댓글
이경문
•
2000.10.26 02:31
Pixels 프로퍼티가 상당히 느린건 많은 분이 아실가여에요.
DDB, DIB변환을 해 주면 되는데 TFastBmp라는 클래스가 있습니다.
그것을 사용해 보시면 속도가 엄청 빠를 겁니다.
그럼...
0
0
삭제
수정
댓글
이한
•
2001.04.04 20:38
이경문 wrote:
> Pixels 프로퍼티가 상당히 느린건 많은 분이 아실가여에요.
> DDB, DIB변환을 해 주면 되는데 TFastBmp라는 클래스가 있습니다.
> 그것을 사용해 보시면 속도가 엄청 빠를 겁니다.
> 그럼...
안녕하세요.
TFastBmp라는 클래스는 델파이5에 없던거 같던데요....
공부할수 있는 site나 간단한 소스라도 있으면 좀
얻을수 있을까해서요....
이렇게 무작정 부탁드려서 죄송합니다....ㅜㅜ#
너무 느려서....ㅡ
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
초보맨
2000.10.17 23:52
0
COMMENTS
/
0
LIKES
asf 로 음성녹음
신승욱
•
2000.10.17 23:48
4
COMMENTS
/
0
LIKES
메인키를 생성하는 데...머리가 어질어질하군요..도와주세요.
bassmania
•
2000.10.18 19:20
신승욱 wrote: > 안녕하세요...델고수님들.... > 다름이 아니라...어떤 테이블에 메인키를 잡을 만한 필...
태여니
•
2000.10.18 00:16
전 하순데요 Database 컴포넌트를 사용하시겠지요 사용안 하면 할 수없고, 만약 그걸 사용하면 trans...
신승욱
•
2000.10.18 00:27
태여니 wrote: > 전 하순데요 > Database 컴포넌트를 사용하시겠지요 > 사용안 하면 할 수없고, > > ...
태여니
•
2000.10.18 01:10
나는야 초보라네 그럼 필드두개를 잡아서 인덱스를 만드세요 그런 인덱스를 DB에서 뭐라고 하드라? 잊...
네오
2000.10.17 23:28
0
COMMENTS
/
0
LIKES
페인트버킷(페인터통)즉,색채우는법 줌 ...??
이광형
•
2000.10.17 23:26
3
COMMENTS
/
0
LIKES
칼라 이미지를 그레이로 변환하는 방법좀...
안녕하십니까... 델파이로 영상처리를 구현 해 볼라고 하는데요... 칼라 이미지를 그레이로 변환 하는 방법좀 알려 주세요... 이미지 처리쪽은 첨이라 막막 하네요.. 감사합니다. 그럼 추운날씨에 감기 조심하세요.
조규춘
•
2000.10.18 06:42
이광형 wrote: > 안녕하십니까... > 델파이로 영상처리를 구현 해 볼라고 하는데요... > 칼라 이미지를 ...
이경문
•
2000.10.26 02:31
Pixels 프로퍼티가 상당히 느린건 많은 분이 아실가여에요. DDB, DIB변환을 해 주면 되는데 TFastBmp라는 ...
이한
•
2001.04.04 20:38
이경문 wrote: > Pixels 프로퍼티가 상당히 느린건 많은 분이 아실가여에요. > DDB, DIB변환을 해 주면 ...
백록화
2000.10.17 23:17
0
COMMENTS
/
0
LIKES
쿠키생성...그리고 읽기...
halosky
•
2000.10.17 23:13
1
COMMENTS
/
0
LIKES
QRDBText의 값 QRLabel로 값을 얻을려면...
friggacho
•
2000.10.18 03:17
halosky wrote: > 제목 그대로거든여! > QRDBText로 얻을 DB의 값을 QRLabel로 보내려고 하는데 어케하...
delpo
•
2000.10.17 23:08
1
COMMENTS
/
0
LIKES
삭제문 다시 한번 부탁드립니다.
cell
•
2000.10.18 00:15
delpo wrote: > 답변해 주신 김하늘님의 코딩을 참조로 하여 다음과 같은 쿼리문을 작성하였습니다. > 근...
진
2000.10.17 23:06
0
COMMENTS
/
0
LIKES
SQL DB와 PARADOX DB의 조인방법?
박일용
•
2000.10.17 22:54
1
COMMENTS
/
0
LIKES
NT 서비스 만드는 방법 좀....
구창민
•
2000.10.17 22:59
박일용 wrote: > 폼이 있는 NT서비스를 만들고 싶습니다. > 예제나 혹은 관련 사이트가 있으면 좀 알려 ...
imp
2000.10.17 22:45
0
COMMENTS
/
0
LIKES
안치봉님께.. (다국어버전....?)
태여니
2000.10.17 22:24
0
COMMENTS
/
0
LIKES
cookie 이용하기
kk2me
2000.10.17 22:16
0
COMMENTS
/
0
LIKES
인터베이스 설치 안하면 안됩니까?
김도완
•
2000.10.17 21:55
1
COMMENTS
/
0
LIKES
폴더 유무검사.....
kanis
•
2000.10.17 22:08
김도완 wrote: > 안녕하세요.. > 질문있습니다.. 파일존재 유무검사는 FileExists() 함수로하는건 알겠는...
초보델피언
•
2000.10.17 21:52
1
COMMENTS
/
0
LIKES
Query 문을 연속으로 가능합니까?
TObject
•
2000.10.17 23:33
저도 잘 모르겠지만.. 동적 배열을 사용하시면 되겠군요. 코드를 보니, 하나의 레코드씩 읽어서 변...
이영근
2000.10.17 21:33
0
COMMENTS
/
0
LIKES
윤종필씨 고마워요..
String Grid 관련
•
2000.10.17 20:53
1
COMMENTS
/
0
LIKES
질문제목과 분류를 꼭 해주시길 부탁드립니다.
김영대
•
2000.10.17 22:09
StringGrid에는 기본적으로 Edit 속성이 False로 되어있습니다. 따라서 입력이 되지 않죠.. 이걸 바꾸려...
119
2000.10.17 20:47
0
COMMENTS
/
0
LIKES
String Grid 질문입니다.
초보 델파이
2000.10.17 20:37
0
COMMENTS
/
0
LIKES
매개변수가 잘못되었다는데..??
최일용
2000.10.17 19:54
0
COMMENTS
/
0
LIKES
StringGrid에서 drag 기능 사용에 대해..
궁금걸
•
2000.10.17 19:50
2
COMMENTS
/
0
LIKES
질문제목과 분류를 꼭 해주시길 부탁드립니다.
강인규
•
2000.10.17 21:43
루프로 돌릴 필요는 없겠는걸요? 간단히 하실려면 전역변수를 세개 선언하시구..... var BOne,BTw...
궁금걸
•
2000.10.17 22:15
감사함당 감사함당.. 정말 감사함당... *^^*
이광형
2000/10/17 23:26
Views
543
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하십니까...
> 델파이로 영상처리를 구현 해 볼라고 하는데요...
> 칼라 이미지를 그레이로 변환 하는 방법좀 알려 주세요...
> 이미지 처리쪽은 첨이라 막막 하네요..
> 감사합니다.
> 그럼 추운날씨에 감기 조심하세요.
안녕하십니까??
델세상(http://www.freechal.com/delphiworld)의 조규춘입니다.
오랫만에 QNA에 온거 같군요.. ^^ 바쁜척하느라구요.. ^^
우선 소스부터 보여드리자면...
테스트 해봤더니...
두가지 방법으로 해봤습니다.
한가지 방법은...
Image1.Picture.Bitmap.Monochrome := True;
이소스 처럼..
Monochrome 를 해주면 되긴 하는데..
문제는 2bit gray가 된다는 점입니다.
그러니깐 검정아니면 흰색.. 쩝.. 이건그렇겠지요?
또하나는
픽셀을 일일이 바꾸어 주는 방식입니다.
그런데..
296*180 사이즈인데.. 한 11초 걸리더군요..^^
그럼 행복하셔요~
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, jpeg, ExtCtrls, TFlatGaugeUnit, ComCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
ProgressBar1: TProgressBar;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
// Color를 Gray로 바꾸기..
Function RGBToGray(RGBColor:TColor):TColor;
Var
Gray : Byte;
Begin
Gray:= Round((0.30*GetRValue(RGBColor)) +
(0.59*GetGValue(RGBColor)) +
(0.11*GetBValue(RGBColor )));
Result:= RGB(Gray, Gray, Gray);
End;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
Var
LoopX, LoopY : Integer;
ValueGauge : Integer;
begin
// 진행도 표시를 위해서....
// 296*180 사이즈인데.. 한 11초 걸린다.
ProgressBar1.Max := Image1.Width * Image1.Height;
ValueGauge := 0;
// 그림을 픽셀을 하나하나씩 가져온다.
// 그리고 바꾸어 준당..
With Image1.Picture.Bitmap.Canvas do
For LoopY:= 0 to Image1.Height do
For LoopX:= 0 to Image1.Width do
begin
Pixels[LoopX, LoopY]:= RGBToGray(Pixels[LoopX, LoopY]);
inc(ValueGauge);
ProgressBar1.Position := Valuegauge; // 게이지에 표시...
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Image1.Picture.Bitmap.Monochrome := True;
end;
end.