Dmitry__ писал(а):Еще раз - мышка выдает данные перемещения чего-нибудь как-нибудь, для мышки нужен только факт смещения, абсолютных данных она не выдаст, это же очевидно...
Продолжим.
Примем Ваше высказывание за истину и попробуем с помощью относительных смещений получить улучшение относительного качество детектирования.
Шаг в сторону.В связи с этой установкой у меня, как человека, который приступит к экспериментам в железе не ранее чем через неделю-две, возникает вопрос есть ли в наборе параметров выдаваемых датчиком параметр явно зависящий от качества поверхности (цвет от белого до чёрного по возможности с бОльшим числом градаций промежуточного серого, матовость и зеркальность и прочее) при неизменной яркости лазера, и как подвопрос, как при этом ведут себя смещения по X или Y.
Почему об этом спрашиваю? Отвечу примерными вариантами нахождения центра пятна.
Вариант 1. Параметр.Если таковой параметр найдется, то мы сможем получить приближённую формулу характеризующую поверхность, как источник света с определёнными параметрами светимости и телесного угла. В свою очередь знание этих параметров даст нам информацию о размере пятна и его центре, который в отличие от кромки меняющего размеры отраженного пятна никуда не смещается на любых диффузно рассеивающих поверхностях.
Вариант 2. Срезы.Собственно, получить информацию о размере пятна и его центре можно и через серию срезов полученных из чтения строки, но сие потребует знания о смещении картинки между срезами, информации о котором (смещении) на данном этапе "кот наплакал".
Вариант 3. Комбинированный.Некий параметр с момента входа пятна произвольного размера начинает изменятся. Выждав изменение этого параметра на некую фиксированную величину (подозреваю, что эта величина будет как-то связана с площадью вошедшего на матрицу пятна ограниченного дугой отнесенную к площади всей матрицы), делаем срез и определяем хорду (относительный линейный размер по числу засвеченных пикселей), на которую наша дуга опирается. А дальше чистой математикой вычисляем в первом приближении радиус пятна и с максимальной скоростью опрашиваем смещение вдоль интересующей нас оси и при достижении последним требуемого значения (разное для разных dpi) принимаем решение на выдачу стоп-сигнала в принтер.
За сим закончу. Камень на распутье положил... Ждем-с богатырей...