Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Сранить два изображения???   Найти похожие ветки 

 
root ©   (2006-09-27 15:09) [0]

var
i,j,k:integer;
begin
k:=0;
 for i := 0 to bit1.Height - 1 do begin
   for j := 0 to bit1.Width - 1 do begin
    if bit1.Canvas.Pixels[i,j]<>bit2.Canvas.Pixels[i,j] then
    begin
     form1.Canvas.Pixels[i,j]:=bit2.Canvas.Pixels[i,j];
    end;
   end;
 end;

из двух изображений этот алгоритм вычисляет разницу методом перебора
работает очень меделнно обработка двух изображений 1280х1024 затрачиват 1.5-2 сек что очень медленно как ускортить процесс обработки????


 
clickmaker ©   (2006-09-27 15:13) [1]

а если наложить их с маской XOR?
Тогда одинаковые пиксели дадут 0 в сумме.


 
root ©   (2006-09-27 15:27) [2]

а какя разница между XOR и ли сравнением последняя вроде занимает меньше операций процессора??
или я ошибаюсь опиши подробнее???


 
Loginov Dmitry ©   (2006-09-27 15:38) [3]

root ©   (27.09.06 15:09)
как ускортить процесс обработки


Использовать ScanLine вместо Pixels


 
clickmaker ©   (2006-09-27 15:41) [4]


> [2] root ©   (27.09.06 15:27)

я не попиксельно имел в виду, а
BitBlt(hDestDC, ... hSrcDC, ..., SRCINVERT)

в DestDC у тебя окажется результирующая картинка, где одинаковые пикселы будут черными


 
root ©   (2006-09-27 16:00) [5]

но время обработки неуменьшится или уменьшится?


 
clickmaker ©   (2006-09-27 16:01) [6]


> [5] root ©   (27.09.06 16:00)

уменьшится естесственно. Растровые операции всегда быстрее попиксельных, бо юзают аппаратные возможности видяхи



Страницы: 1 вся ветка

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.044 c
15-1158778199
PHPDeveloper
2006-09-20 22:49
2006.10.15
ICQ клиент


2-1159532700
zac
2006-09-29 16:25
2006.10.15
Зарисовка сегмента круга


2-1159463350
Ezorcist
2006-09-28 21:09
2006.10.15
Прикрепить Frame к Pointer


15-1158674598
Gerlon
2006-09-19 18:03
2006.10.15
Shareware


15-1158834648
kroner
2006-09-21 14:30
2006.10.15
Работа с большими числами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский