English

Nikon Coolpix 2500

Изучение камеры E2500 v1.1

 

Чтение карты дефектных пикселей

Карта дефектных пикселей хранится в таблице CCD_DEFECT. Каждый элемент таблицы - пара координат дефектной точки. Размер таблицы 512 элементов. Если дефектных пикселей меньше 512, то остальные элементы содержат координаты (-1,-1).

Таблица записывается в регистр Reg1F в ответ на команду 06-16-03. Содержимое выдается в виде текста, частями, по десять элементов. Номер декады, которая будет выдаваться, берется из специального регистра. Команда 06-14 позволяет записать в этот регистр содержимое регистра Reg20. Для чтения всей таблицы необходимо 52 итерации.

Пример программы чтения карты дефектных пикселей (подробности о протоколе см. здесь)

   for(int i=0; i<(512+9)/10; ++i) 
   {
      SetReg(0x20, i);          // записываем номер декады i в Reg20

      SpecCmd(6, 0x14);         // копируем Reg20 в специальный регистр 

      Sleep(3000);              // пауза 3 сек

      SetReg(0x20, 3);          // 3 - код команды чтения таблицы дефектных пикселей

      if( SpecCmd(6, 0x16) )    // выполняем команду из Reg20
      {
         Sleep(3000);           // пауза 3 сек

         if( GetVar(0x1F, responce) ) // читаем строчку из Reg1F
            printf("Value: [%s]\n", as_text(responce.ptr->data) );
      }
   }

Пример ответа: "CCD DEFECT:\r\n1134,374\r\n ... 848,1068\r\n1264,862\r\n"

Отмечу, что чтение таблицы занимает значительное время (несколько минут). Это видно из приведенного примера - две задержки по 3 секунды в цикле, выполняющемся 52 раза - это уже больше пяти минут. Имеет смысл анализировать принимаемые данные и прекращать чтение, когда встретится точка с координатами (-1,-1). Также надо обратить внимание на то, что в последнем цикле только две точки являются значимыми данными. Остальные восемь не имеют отношения к таблице дефектных пикселей.

CCD defects reader

CCD defects reader - программа для чтения и обновления карты дефектных пикселей в камере E2500. Для чтения карты надо нажать кнопку "Read". Программа выдаст предупреждение и, если вы согласитесь, приступит к чтению. Чтение - процесс долгий, но его можно прервать кнопкой "Stop".

Полученные значения выводятся в виде таблицы в текстовом окне. Содержимое окна можно выделить и скопировать стандартными средствами Windows в файл. Это необходимо сделать для контроля за успешностью дальнейшего обновления карты дефектных пикселов.

Для обновления карты надо нажать кнопку "Remap". Программа опять выдаст предупреждение и, с вашего согласия, запустит автоматическую процедуру обновления карты дефектных пикселов. Это происходит быстрее, порядка 16 секунд, но фотоаппарат при этом оживится и будет щелкать затвором, или что там у него есть. В общем, это нормально.

По окончании процедуры программа выдаст количество дефектных пикселов записанных во внутреннюю таблицу камеры. Для чтения таблицы надо опять нажать "Read". Теперь можно сравнить, что было и что стало.

Формат таблицы удобен для загрузки в Exсel и дальнейшего анализа. Если число дефектных пикселей изменилось незначительно, чуть больше - чуть меньше - значит скорей всего все сделано правильно. Если число дефектных пикселей сильно возросло, то камера имеет слишком высокую температуру. Впрочем еще не ясно плохо это или хорошо. А вот если число дефектных пикселей сильно уменьшилось - не спешите радоваться. Это значит, что камера холодная и на прогретой камере они появятся, но уже на снимках. Придется прогреть камеру оставив ее включенной (и работающей, а не спящей) минут на 15 и повторить процедуру. Не забывайте об аккумуляторе - он должен быть заряжен!

Обновленная таблица будет реально использована только после выключения и включения фотоаппарата. До этого момента коррекция дефектных пикселей будет выполняться по старой таблице.

Программа написана и может быть использована только в образовательных целях. Поскольку программа реально пока проверена только на моей камере, вы можете использовать ее только на свой страх и риск. Я не могу гарантировать ее работоспособность с любой камерой данного семейства. Если характеристики вашей камеры ухудшатся, вы можете винить только себя, а если производитель камеры узнает, что вы вмешивались в работу камеры таким образом, то вы, к тому же, лишитесь гарантии. Программа выдает предупреждения на двух языках: на корявом английском и вполне понятном русском. Не стоит игнорировать эти предупреждения, поскольку исправить возможные ошибки смогут только в сервис-центре.

Таблица совместимости с разными камерами.
Camera, FWDEFECT (hot)BLACK (dead)
ReadingRemapping ReadingRemapping
Coolpix 2500, v1.1до 512 протестировано upto 30 not supported
Coolpix 995, v1.716 из 512 протестировано не тестировалось не тестировалось
Coolpix 990**16 из 512 протестировано не тестировалось не тестировалось
Coolpix 4300 работает! протестировано протестировано не тестировалось
Coolpix 4500, v1.1не работает протестировано не тестировалосьне тестировалось
Coolpix 5000, v1.7не работает протестировано не тестировалосьне тестировалось
Coolpix 5700, v1.0 работает! протестировано протестировано не работает!*
Coolpix 5700, v1.1 работает! протестировано не тестировалосьне тестировалось
Olympus C2100UZ**16 из 512 протестировано не тестировалось не тестировалось

* - имеется случай, когда E5700v1.0 удалила таблицу и не смогла восстановить ее.
** - с версией 0.12, используя последовательный порт.

Отзывы:

Список версий:

CCD defects reader, v0.15

В этой версии делается попытка работать с камерами Olympus по USB. К сожалению, ни одной камеры Olympus у меня под рукой нет, программа совершенно не протестирована, поэтому очень нужен лог файл работы программы не зависимо от результатов ее работы. Ни в коем случае не нажимайте кнопки [Ремап] и [Чтение], если вы не видите версии прошивки и серийного номера камеры. Адрес: e2500@narod.ru

CCD defects reader, v0.14

Версия (0.12) дала реальную возможность работы со многими камерами используя последовательный порт. Однако программа работала нестабильно, приходилось запускать ее несколько раз, чтобы добиться успеха. В версии 0.14 улучшена работа с последовательным портом. Программа протестирована на E990.

CCD defects reader, v0.12

Из программы исключены потенциально опасные возможности, оставлены только ремап и чтение дефектных пикселей. Отлажена работа программы по COM порту с камерами E990 и E5700 (благодаря Philippe R.). Также программа была успешно протестирована на камере Olympus C-2100UZ при подключении через последовательный порт. А также программа успешно отработала на камерах C-2020Z и C-3000Z.

CCD defects reader, v0.10

Добавлена поддержка Windows 98SE и подробный лог файл cpixmap.log.

CCD defects reader, v0.09

Добавлен ручной режим соединения с камерой. Улучшена диагностика.

CCD defects reader, v0.07

В новой версии CCD defects reader реализована возможность подключения камеры через COM порт.

CCD defects reader, v0.05

Пока не совсем правильно работает чтение таблиц в E4500. В версии 0.05 информация полученная из камеры выводится без всякой обработки. Это позволит лучше понять формат данных, выдаваемых камерой.

CCD defects reader, v0.04

Улучшена поддержка E995. Как удалось выяснить, эта камера способна выводить только первые 16 элементов из таблицы горячих пикселей. Также в этой камере поддерживается режим обновления таблицы "мертвых" пикселей.

CCD defects reader, v0.03

Программа дополнена процедурами чтения и обновления таблицы "мертвых" пикселей. Терминологию я ещё уточню, но чтобы сейчас была ясность: "горячие" или hot или defect - это пиксели которые выглядят более яркими, чем должны быть (проявляются как яркие цветные точки), а "мертвые" или dead или black - пиксели у которых яркость меньше, чем должна быть (они выглядят как черные точки).

Методика мапирования "мертвых" пикселей пока не ясна. Понятно только, что для их обнаружения нужен снимок на свету. Т.е. объектив камеры должен быть открыт и смотреть на ровный белый фон, типа потолка.

Не каждая камера поддерживает обновление таблицы "мертвых" пикселей. E2500 точно не поддерживает, E5000 - точно поддерживает. Про остальные - не знаю, но по мере получения буду записывать информацию в сводную таблицу.

CCD defects reader, v0.02

Дополнение: в версии v0.02 появилась еще одна кнопка - "Delete". Нажав на эту кнопку можно стереть карту дефектных пикселей. Это позволит получить тестовый снимок без коррекции дефектов внутри камеры. Но вместе с картой дефектных пикселей удаляется и таблица черных (black) пикселей, которая может быть восстановлена только следующей версией программы.

CCD defects reader, v0.01 - базовая версия программы.

Карта дефектных пикселей

Несколько примеров карты дефектных пикселей. Карты считаны из камеры после мапирования в разных условиях (в основном разный нагрев камеры). Три варианта карты наложены друг на друга.

  1. После включения остывшего аппарата (163 пикселя)
  2. Минут через 15 после включения аппарата (214 пикселей)
  3. После длительной работы аппарата (291 пиксель)

Некоторые замечания:

  1. При длительной работе камеры без выключения, когда она теплая на ощупь, количество дефектных пикселей сильно возрастает и таблица заполняется полностью. В примере выше, под цифрой 3 немного другой случай - камера часто включалась-выключалась и в целом сильного нагрева не было.
  2. Размеры матрицы, судя по координатам дефектных пикселей чуть больше, чем 1600х1200. Максимальные цифры, которые встречаются в таблице: 1202 и 1606.

e2500.narod.ru
Hosted by uCoz