Текущий архив: 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