Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
video에서 컷 나누기를 알고파요!
자동으로 컷 나누기를 하려합니다.
그런데 이전 프레임과 현프레임을 어떻게 비교하면
컷이 전환되는 것을 알 수 있을까요?
예를 들어 이전의 bmp와 현 bmp를 어떻게 비교해야 속도도 빠르고
비교적 정확하게 나눌 수 있는지 알고 싶습니다.
일일이 점 하나하나 비교하기에는 문제가 많아서요!
그럼 좋은 식견을 부탁드립니다.
그리고 이에 관련된 사이트를 알려 주시면 고맙고요!
2
COMMENTS
김영석
•
2000.12.20 02:08
일단 기본적인 소스는 아래와 같습니다.
그런데 PRGBTripleArray 타입선언된곳을 찾지를 못하네요.
Graphics.Pas 에 있는 타입인데 uses 에 그걸 포함시켜도 선언되지 않은 변수라고
나오는데 그거 어떻게 해결하는지 알려주시면 좋겠습니다.
일단 소스는 아래처럼..
/ P1, P2 에는 그림이 256 컬러 이하의 팔레트를 사용한다면
// PByteArray 를 주고 TrueColor 이라면 PRGBTripleArray 를 사용한다..
procedure TForm1.Button1Click(Sender: TObject);
var
x,y : Integer;
BitMap1, Bitmap2 : TBitMap;
P1, P2 : PRGBTripleArray; // PByteArray.. (256 컬러라면..)
DifferentBmp: Boolean;
begin
DifferentBmp:=false;
BitMap1 := TBitMap.create;
try
BitMap1.LoadFromFile('c:Windows설치.bmp');
Bitmap2:=TBitmap.Create;
Bitmap2.LoadFromFile('c:Windows설치.bmp');
if (Bitmap2.Width<>Bitmap1.Width) or
(Bitmap2.Height<>Bitmap1.Height) then
DifferentBmp:=true;
try
for y := 0 to BitMap1.height -1 do
begin
P1 := BitMap1.ScanLine[y];
P2 := Bitmap2.ScanLine[y];
for x:=0 to Bitmap1.Width-1 do
if (P1^[x].rgbtBlue<>p2^[x].rgbtBlue) or
(P1^[x].rgbtRed<>P2^[x].rgbtRed) or
(P1^[x].rgbtGreen<>p2^[x].rgbtGreen) then DifferentBmp:=true;
end;
finally
Bitmap2.Free;
end;
finally
BitMap1.free;
end;
if DifferentBmp then
ShowMessage(' 다른 이미지..') else
ShowMessage(' 같은 이미지..');
end;
치토스 wrote:
> 자동으로 컷 나누기를 하려합니다.
>
> 그런데 이전 프레임과 현프레임을 어떻게 비교하면
> 컷이 전환되는 것을 알 수 있을까요?
>
> 예를 들어 이전의 bmp와 현 bmp를 어떻게 비교해야 속도도 빠르고
> 비교적 정확하게 나눌 수 있는지 알고 싶습니다.
>
> 일일이 점 하나하나 비교하기에는 문제가 많아서요!
>
> 그럼 좋은 식견을 부탁드립니다.
>
> 그리고 이에 관련된 사이트를 알려 주시면 고맙고요!
0
0
삭제
수정
댓글
치토스
•
2000.12.28 21:25
아래 소스는 단순비교네요!
저는 동영상에서 비슷한것과 아닌것 차이를 알려고하는 건데!!
제가 알고 있는 것은 칼러 히스토그램이나 모자이크화비교등을
알고 있는데 이것 외에 획기적인 방법이 있는가 하고 말여요!
위의 방법은 느린것 같아서....
김영석 wrote:
> 일단 기본적인 소스는 아래와 같습니다.
> 그런데 PRGBTripleArray 타입선언된곳을 찾지를 못하네요.
> Graphics.Pas 에 있는 타입인데 uses 에 그걸 포함시켜도 선언되지 않은 변수라고
> 나오는데 그거 어떻게 해결하는지 알려주시면 좋겠습니다.
> 일단 소스는 아래처럼..
>
> / P1, P2 에는 그림이 256 컬러 이하의 팔레트를 사용한다면
> // PByteArray 를 주고 TrueColor 이라면 PRGBTripleArray 를 사용한다..
> procedure TForm1.Button1Click(Sender: TObject);
> var
> x,y : Integer;
> BitMap1, Bitmap2 : TBitMap;
> P1, P2 : PRGBTripleArray; // PByteArray.. (256 컬러라면..)
> DifferentBmp: Boolean;
> begin
> DifferentBmp:=false;
> BitMap1 := TBitMap.create;
> try
> BitMap1.LoadFromFile('c:Windows설치.bmp');
> Bitmap2:=TBitmap.Create;
> Bitmap2.LoadFromFile('c:Windows설치.bmp');
> if (Bitmap2.Width<>Bitmap1.Width) or
> (Bitmap2.Height<>Bitmap1.Height) then
> DifferentBmp:=true;
>
> try
> for y := 0 to BitMap1.height -1 do
> begin
> P1 := BitMap1.ScanLine[y];
> P2 := Bitmap2.ScanLine[y];
>
> for x:=0 to Bitmap1.Width-1 do
> if (P1^[x].rgbtBlue<>p2^[x].rgbtBlue) or
> (P1^[x].rgbtRed<>P2^[x].rgbtRed) or
> (P1^[x].rgbtGreen<>p2^[x].rgbtGreen) then DifferentBmp:=true;
> end;
>
> finally
> Bitmap2.Free;
> end;
> finally
> BitMap1.free;
> end;
>
> if DifferentBmp then
> ShowMessage(' 다른 이미지..') else
> ShowMessage(' 같은 이미지..');
> end;
>
>
> 치토스 wrote:
> > 자동으로 컷 나누기를 하려합니다.
> >
> > 그런데 이전 프레임과 현프레임을 어떻게 비교하면
> > 컷이 전환되는 것을 알 수 있을까요?
> >
> > 예를 들어 이전의 bmp와 현 bmp를 어떻게 비교해야 속도도 빠르고
> > 비교적 정확하게 나눌 수 있는지 알고 싶습니다.
> >
> > 일일이 점 하나하나 비교하기에는 문제가 많아서요!
> >
> > 그럼 좋은 식견을 부탁드립니다.
> >
> > 그리고 이에 관련된 사이트를 알려 주시면 고맙고요!
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
초보나라.....
2000.12.20 05:07
0
COMMENTS
/
0
LIKES
edit.Text중 하나만 정각문자로 받고 싶은데용...
궁구미
•
2000.12.20 04:27
1
COMMENTS
/
0
LIKES
tprint에서 font크기조절은 어떻게 하나요?
김영길
•
2000.12.20 04:34
혹시 델파이의 TPrinter 로 구현했나요? 보니까 TPrint 라고 되어있는데 그건 델파이에 기본적으로 없는 ...
delhpilove
•
2000.12.20 04:25
4
COMMENTS
/
0
LIKES
insert
프지초보
•
2000.12.20 12:25
delhpilove wrote: > procedure > var > flist : string; > begin > for k:=0 to filelistbox...
이성훈
•
2000.12.20 04:42
에러메세지가 어떻게 나지요... 일단 구문에는 에러가 없는데.... delhpilove wrote: > procedure ...
delhpilove
•
2000.12.20 05:08
이성훈 wrote: > 에러메세지가 어떻게 나지요... > 일단 구문에는 에러가 없는데.... > > > delhpil...
왕초보.....
•
2000.12.20 05:24
저두 잘 모르지만 제 예상에..... 틀리더라도 이해바랍니다 query2.sql.Add('insert into data...
paradox
•
2000.12.20 04:18
1
COMMENTS
/
0
LIKES
text-->paradox시 게이지 progress 가 작동불능
김영길
•
2000.12.20 04:40
그 이유는 변환중에 다른 메시지를 처리할 수 없기 때문입니다. 그러니까 for 루프에서 for i:=1 to 10...
윤돌
•
2000.12.20 03:41
1
COMMENTS
/
0
LIKES
여러개의ActiveForm과 한개의 데이터모듈을 공유할수 있나요?
최석기
•
2000.12.20 19:13
각각의 폼 생성시 마다 데이터 모듈을 생성하시면 데이터모듈을 사용하실 이유가 없잖아요.. 그냥 젤 처...
초보입니다.
2000.12.20 03:29
0
COMMENTS
/
0
LIKES
MDI 폼에서 자식 폼을 활성후 자식폼을 닫으면....
Demian
•
2000.12.20 03:11
2
COMMENTS
/
0
LIKES
엑셀 파일을 디비로 저장하는 방법에 대해서.. 질문...
이성훈
•
2000.12.20 04:45
Demian wrote: > 엑셀 파일을 디비로 만드는 방법에 대해서,, 알고 싶은데요.. > 많은 고수님의 관심 부...
이상봉
•
2001.08.01 20:18
이성훈 wrote: > Demian wrote: > > 엑셀 파일을 디비로 만드는 방법에 대해서,, 알고 싶은데요.. > > ...
정상배
2000.12.20 03:25
0
COMMENTS
/
0
LIKES
인터베이스에서 한글이 깨져요
박혜윤
•
2000.12.20 02:52
1
COMMENTS
/
0
LIKES
흑흑... 파일이 열렸는데, 닫히지가 않네요...
김영석
•
2000.12.20 03:17
파일을 열었으면 파일을 닫아야 합니다. FileClose 함수를 쓰세요.. 소스에서 보면.. FileHandle :=...
박일용
•
2000.12.20 02:01
1
COMMENTS
/
0
LIKES
PageControl에 TabSheet 글씨 색 변경
김영석
•
2000.12.20 04:32
일단 페이지 콘트롤의 속성중에 OwnerDraw 를 True 로 해놓으시고.. 페이지 콘트롤의 OnDrawTab 이벤트에...
미남
•
2000.12.20 01:52
2
COMMENTS
/
0
LIKES
디비그리드
김광섭
•
2000.12.20 23:13
미남 wrote: > 디비그리드에 조회한내용이 있나없나 얼케 체크하져..? > 알려주세여 조회를 했다면 쿼리...
바람개비
•
2000.12.20 23:10
dbgrid.recordcount를 체크하십시오. 바라미~~ 미남 wrote: > 디비그리드에 조회한내용이 있나없나 ...
질문멘
•
2000.12.20 01:52
1
COMMENTS
/
0
LIKES
TreeView 에서 오른쪽 버튼 선택이...
배인철
•
2000.12.20 02:22
질문멘 wrote: > OS : windows2000 > Tool : delphi 5.0 > TreeView 에 프로퍼티에 보면 RightClickSe...
전수완
2000.12.20 02:12
0
COMMENTS
/
0
LIKES
class dll.
진현주
•
2000.12.20 01:37
1
COMMENTS
/
0
LIKES
[답변대로 했는데도 안됩니다.] stringgrid에서 이미지 교체....
김영석
•
2000.12.20 02:06
그걸 조건에 걸리는 곳에다 넣고 다시 그리기를 하세요. GridDrawCell 안에서 REct 를 구하지 말고.. 조...
초보여요.
2000.12.20 01:37
0
COMMENTS
/
0
LIKES
TreeView 관련 질문입니다.
초보
2000.12.20 01:33
0
COMMENTS
/
0
LIKES
폼 create?
델파이맨
•
2000.12.20 01:31
1
COMMENTS
/
0
LIKES
답변이나 의견 부탁드립니다.
오태양
•
2000.12.20 16:57
안냐세염.. 델초보에영. ㅜ.ㅜ 이거 ftp관련댄게 데모에 이뜨라구여. 그래서 일케 쓰는데 분석은 못하구여...
질문멘
2000.12.20 01:27
0
COMMENTS
/
0
LIKES
TreeView 에서 오른쪽 버튼 선택이...
곰푸
•
2000.12.20 01:13
2
COMMENTS
/
0
LIKES
태스크바에 있는 프로그램 표시 정보 없애기...
송민철
•
2000.12.21 19:39
minimize 할때 마다 ShowWindow(Application.Handle, SW_HIDE) 를 불러주세요.. minimize 말고도 태스크...
곰푸
•
2000.12.22 01:36
음...해보다 안건데... 처음에 프로그램의 메인 폼이 보이도록 한 상태에서 트레이 아이콘을 넣고 하면...
치토스
•
2000.12.20 00:41
2
COMMENTS
/
0
LIKES
video에서 컷 나누기를 알고파요!
자동으로 컷 나누기를 하려합니다. 그런데 이전 프레임과 현프레임을 어떻게 비교하면 컷이 전환되는 것을 알 수 있을까요? 예를 들어 이전의 bmp와 현 bmp를 어떻게 비교해야 속도도 빠르고 비교적 정확하게 나눌 수 있는지 알고 싶습니...
김영석
•
2000.12.20 02:08
일단 기본적인 소스는 아래와 같습니다. 그런데 PRGBTripleArray 타입선언된곳을 찾지를 못하네요. Graph...
치토스
•
2000.12.28 21:25
아래 소스는 단순비교네요! 저는 동영상에서 비슷한것과 아닌것 차이를 알려고하는 건데!! 제가 알고 있...
치토스
2000/12/20 00:41
Views
328
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
그런데 PRGBTripleArray 타입선언된곳을 찾지를 못하네요.
Graphics.Pas 에 있는 타입인데 uses 에 그걸 포함시켜도 선언되지 않은 변수라고
나오는데 그거 어떻게 해결하는지 알려주시면 좋겠습니다.
일단 소스는 아래처럼..
/ P1, P2 에는 그림이 256 컬러 이하의 팔레트를 사용한다면
// PByteArray 를 주고 TrueColor 이라면 PRGBTripleArray 를 사용한다..
procedure TForm1.Button1Click(Sender: TObject);
var
x,y : Integer;
BitMap1, Bitmap2 : TBitMap;
P1, P2 : PRGBTripleArray; // PByteArray.. (256 컬러라면..)
DifferentBmp: Boolean;
begin
DifferentBmp:=false;
BitMap1 := TBitMap.create;
try
BitMap1.LoadFromFile('c:Windows설치.bmp');
Bitmap2:=TBitmap.Create;
Bitmap2.LoadFromFile('c:Windows설치.bmp');
if (Bitmap2.Width<>Bitmap1.Width) or
(Bitmap2.Height<>Bitmap1.Height) then
DifferentBmp:=true;
try
for y := 0 to BitMap1.height -1 do
begin
P1 := BitMap1.ScanLine[y];
P2 := Bitmap2.ScanLine[y];
for x:=0 to Bitmap1.Width-1 do
if (P1^[x].rgbtBlue<>p2^[x].rgbtBlue) or
(P1^[x].rgbtRed<>P2^[x].rgbtRed) or
(P1^[x].rgbtGreen<>p2^[x].rgbtGreen) then DifferentBmp:=true;
end;
finally
Bitmap2.Free;
end;
finally
BitMap1.free;
end;
if DifferentBmp then
ShowMessage(' 다른 이미지..') else
ShowMessage(' 같은 이미지..');
end;
치토스 wrote:
> 자동으로 컷 나누기를 하려합니다.
>
> 그런데 이전 프레임과 현프레임을 어떻게 비교하면
> 컷이 전환되는 것을 알 수 있을까요?
>
> 예를 들어 이전의 bmp와 현 bmp를 어떻게 비교해야 속도도 빠르고
> 비교적 정확하게 나눌 수 있는지 알고 싶습니다.
>
> 일일이 점 하나하나 비교하기에는 문제가 많아서요!
>
> 그럼 좋은 식견을 부탁드립니다.
>
> 그리고 이에 관련된 사이트를 알려 주시면 고맙고요!