Новое на форуме

PowerShot SX160 ->
[23.01.17 03:20] WillieWhomy
Русский Хелп по а... ->
[22.01.17 21:12] Frankabunk
Чем отличается те... ->
[22.01.17 21:11] Frankabunk
Canon PowerShot S... ->
[22.01.17 21:10] Frankabunk
Посоветуйте какой... ->
[22.01.17 21:08] Frankabunk
PowerShot A810 ->
[21.01.17 11:01] Charlesgeace
RawColorLikeJpeg ->
[19.01.17 23:51] JamesPaync
Powershot G11 ->
[17.01.17 16:53] KennethKa
Главная » Статьи » О CHDK

Print
Коррекция битых пикселей средствами CHDK

Карта заводских дефектов

(данный раздел только для тех, кто пользуется съемкой в
DNG-формат. Ни на что больше это не влияет)

На любой CCD-матрице есть битые пикселы, и с этим ничего не поделаешь. Их количество относительно общего количества пикселей на CCD-матрице невелико - 0,1%...0,2%, но при количестве пикселей, скажем 10 млн(10Мп) мы получаем 10-20 тысяч бэдов. Для борьбы с ними производители фотокамер уже на этапе производства тщательно тестируют каждую CCD-матрицу, и по результатам тестов создают для каждой CCD-матрицы карту дефектов. Эту заводскую карту дефектов загружают в фотоаппарат, и после этого ПО фотоаппарата, знает какими пикселями "нельзя пользоваться". Когда CHDK создает DNG-файл сразу после съемки, в этот файл попадают "неотфильтрованные" данные и на DNG-файлах могут появится битые пиксели, которых вы никогда не видели на JPG-файлах. Бороться с этим можно если "вытащить" из фотоаппарата карту заводских дефектов и применять её при создании DNG-файла. Карта заводских дефектов вытаскивается из фотоаппарата при помощи пункта меню Create badpixel.bin(Создать badpixel.bin)

1.
Скачиваете последнюю версию CHDK. Обязательно вариант "Full".
2. Устанавливаете CHDK любым способом.
3. Включаете фотоаппарат в программном режиме (P).
4. В меню CHDK активируете пункт "Create badpixel.bin"(Создать badpixel.bin)  в меню "RAW Parameters" (Параметры RAW ->)
5. Фотоаппарат сделает 2 кадра, думая секунд по 10 при этом, сообщит что "badpixel.bin" создан и напишет количество битых пикселей.
6. Карта битых пикселей готова.

Замечание:

1) В более ранних версиях CHDK вместо пункта меню использовался специальный lua-скрипт "badpixel.lua"(со старым способом ознакомится можете здесь) Если вы где-то видите советы/инструкции по созданию карты битых пикселей при помощи этого скрипта, то это устаревшая информация.
2) Не пугайтесь если битых пикселей будет очень много. Их может быть 20-30 тысяч и более.

Битые пиксели в процессе эксплуатации
(данный раздел для тех, у кого есть явно видимые битые пиксели)

В том случае, если у вас битые пиксели появились в процессе эксплуатации фотоаппарата, и ПО фотоаппарата о них ничего не знает есть 2 варианта:
вы можете обратится в фирменный сервис-центр и там вам скорее всего сделают обновление заводской карты дефектов. Бесплатно или нет - это вопрос. Выясняйте самостоятельно.

2й путь - воспользоваться функцией коррекции битых пикселей, которую предоставляет CHDK.

Функцию коррекции битых пикселей можно включить, если в папке "CHDK" есть текстовый файл с именем "badpixel" или "badpixel.txt" (если существуют оба файла, то списки объединяются) в каждой строке которого содержатся координаты одного битого пикселя, разделенные запятыми:
x1,y1
x2,y2
и т.д.
Координаты битых пикселей должны быть указаны относительно RAW-файла(не jpeg!).

Как создать такой список:

1. Cнять RAW, на основании которого будет строится карта битых пикселей на матрице вашего фотоаппарата.
1.1. Включаете фотоаппарат в ручном режиме (M). В меню CHDK идете в "RAW Parameters" ("Параметры RAW") отключаете шумодав полностью ("Off").
1.2. Включаете съемку в RAW(и выключаете съемку в DNG)
1.3. Выставляете минимальное штатное ISO (обычно - 80)
1.4. Выставляете выдержку (через фотоаппарат или через CHDK - не важно) 1 секунду. (с выдержкой нужно экспериментировать так как существуют различные мнения. Наиболее часто упоминаемые длительности: 0,5 сек; 1 сек; и большая выдержка >30 секунд). Чтобы найти только битые пиксели(не обращая внимания на горячие) вполне достаточно 1 сек выдержки и порог в 256 (об этом см. ниже)
1.5. Плотно закрываете объектив крышкой, тканью и т.д. в общем чем-нибудь совершенно непрозрачным.
1.6. Делаете снимок.

2. Построение таблицы битых пикселей
2.1. Любым доступным способом копируете получившийся RAW-файл с карточки.
2.2. RAW-файл должен иметь расширение .crw. Если у вас - нет так, смените расширение файла
2.3. Качаете и распаковываете архив с программой show_bad.
2.4. В ту же папку копируете ваш только что сделанный RAW-файл, и переименовываете его в "IMG_0000.crw"
2.5. Запускаете файл "Badpixels threshold 256.cmd".
Если вы хотите поиграться с пороговым значением(пороговое значение определяет, какие точки программа show_bad будет считать "битыми пикселями" на том RAW-файле который вы ей скормите т.е. получается, что пороговым значением настраивается чувствительность программы), то делаете это на свое усмотрение: при пороге 256 обнаруживает явно битые, которые видимы даже при коротких выдержках, а при пороге 10 выявляет те пиксели, которые могут "проявиться" на длинных выдержках.
Чтобы установить пороговое значение нужно отредактировать любой из файлов "Badpixels threshold xxx.cmd" и заменить цифровое значение которое там указано (например 16) каким либо другим значением от 1 до 256. Если не знаете как - лучше ничего не трогайте.
2.6. В папке с программой появится файл с именем "badpixel.txt" и есть список битых пикселей на матрице вашего фотоаппарата.

3. Копируете файл "badpixel.txt" в папку "CHDK" на SD-карте с установленной CHDK.
3.1. Идете в меню CHDK в раздел "RAW parameters ->" и включаете опцию "Bad pixel removal"
3.2. Делаете несколько кадров как обычно, придирчиво рассматриваете их на компьютере. Если битые пиксели всё ещё видны, то возвращаетесь к п. 2.5. с той лишь разницей что запускать надо файл "Badpixels threshold xxx.cmd" с меньшей цифрой в названии. Т.е. если первый раз запускаете файл "Badpixels threshold 256.cmd", то в следующий раз - файл "Badpixels threshold 128.cmd" и т.д., до тех пор пока битые пиксели не исчезнут.
3.2. Естественно, каждый раз после запуска какого-либо из файлов "Badpixels threshold xxx.cmd" необходимо скопировать обновленный файл "badpixel.txt" в папку "CHDK" на SD-карте.
4. Как только исчезают все битые пиксели, прекращаете мучить фотоаппарат и снимаете как обычно.

Для того, чтобы исправление битых пикселей происходило и для RAW и для jpeg, нужно чтобы все следующие условия были выполнены:

  1. загружена CHDK
  2. в папке "CHDK" присутствует файл "badpixel" или "badpixel.txt".
  3. в меню "RAW parameters ->" включена опция "Bad pixel removal".

Удаление битых пикселей может происходить 2мя путями:
  • в режиме "Усредн." битые пиксели интерполируются исходя из яркости/цветности соседних с ними.
  • в режиме "RAWконв" битые пиксели заменяются на "ноль" (значение всех цветов в битой точке = 0) и интерполирует(усредняет) эту точку RAW-конвертер (в том числе и встроенный в фотоаппарат).

Удаление битых пикселей в режиме видео невозможно!


Вот хороший алгоритм проверки камеры перед покупкой. Во второй половине статьи в том числе рассказывается как искать битые/горячие пиксели. Рекомендую для общего образования.
http://www.videozona.ru/photo_tests/CheckA70/ChA60-70.asp


Подробнее на английском


Обсуждение на нашем форуме: Коррекция битых пикселей

Категория: О CHDK | Добавил: Gans (19.03.08) | Автор: EWAVR
Просмотров: 55243 | Комментарии: 27 | Рейтинг: 4.8/4
Всего комментариев: 27
forica   (19.02.14 22:55)   Комментарий # 27
Нет аватара
"а при пороге 10 выявляет те пиксели, которые могут "проявиться" на длинных выдержках"
По логике, если снимаеш на длинных выдержках (15 - 120 сек) то логично сделать кадр на 10 сек или около того, и по порогу 32 (или меньше) сделать badpixel.txt - так что-ли? У меня аппарат показал примерно 2961 битый пиксель (заводская карта), по аналогии подобрал и badpixel.txt = 3124 пикселя (на 10 сек + порог 16) - насколько я прав в своих вычислениях? Хотя раньше стояла менее агрессивная коррекция - всё было нормально, просто давно не снимал при длинных выдержках...

jo_black   (18.03.13 11:51)   Комментарий # 24
Нет аватара
здравствуйте, застопорился на процессе избавления от битых пикселей на цифровом негативе, не могу разобраться в методе устранения от пикселей написанных в этой статье.  карту заводских дефектов извлёк и у меня появился файлик badpixel.bin, который размещён в папке CHDK. теперь у меня выполнены следующие условия :
  • загружена CHDK
  • в папке "CHDK" присутствует файл "badpixel"

  • в меню "RAW parameters ->" включена опция "Bad pixel removal"
  •  но при создании последующих снимков никакой разницы от снимка до извлечения карты заводских дефектов нет, пиксели как были до так и остались после. если расматривать их на фотке  сделанной в темноте, то их не так уж и много , а если смотреть на фотки обычные то визуально вся фотка в крапинках разного цвета- красного, синего, зелёного, жёлтого.
  •   что я не так делаю? почему несмотря на наличие карты дефектов в соответствующей директории не происходит никаких изменений?

  • tamili   (27.03.13 21:11)   Комментарий # 25
    Нет аватара
    Чтобы заработало удаление битых пикселей, нужно в меню "Парамерты RAW" в пункте "Удаление битых пикселей" выбрать "Усреднение".

    Чтобы убрать крапинки, в меню "Парамерты RAW" в пункте "Версия DNG" выберите "1.1".

    Скорее всего это должно Вам помочь...)

    jo_black   (29.03.13 17:06)   Комментарий # 26
    Нет аватара
    спасибо огромное, это помогло -Чтобы убрать крапинки, в меню "Парамерты RAW" в пункте "Версия DNG" выберите "1.1"

    staralex   (25.07.11 09:15)   Комментарий # 23
    Нет аватара
    RAW у фотика Canon PowerShot A1100 IS получается кривой. Ни одна прога его не видит, в том числе и прога "show_bad" для разметки битых пикселей... а у меня как раз пиксель посреди экрана вылез!
    Все делал по инструкции, переименовывал - результат в файле badpixel.txt одна строка "file is unknown" sad
    Кто что подскажет?
    *** одолел... качать тут http://file.qip.ru/file/ABJdIJk2/Canon_A1100.html

    bugmenot   (07.07.11 10:04)   Комментарий # 22
    bugmenot
    привет всем у меня такой вопрос, у меня нет в папке chdk ни badpixel ни badpixel.txt, а только лишь средствами chdk создал файл badpixel.bin и включил опцию удаления битых пикселей, пиксели вроде удаляются,это нормально?
    (вчера меня расстроило то что 3 дня назад у меня было вообщем 2 битых пикселя а через время ношения камеры с собой на пояясе количество увеличелось до 20 а после создания файла badpixel.bin пиксели битые убрались)

    Ryabchik   (22.02.11 10:59)   Комментарий # 19
    Ryabchik
    статья обновлена

    СУПЕР-БОБ   (05.02.11 10:22)   Комментарий # 17
    Нет аватара
    вроде всё делаю по списку (правильно) ,но создаётся текстовый фал "badpixel" с такой надписью "file not exist" подскажите ,что не так cry ФОТ - CANON SX 30 is

    Mika   (06.02.11 21:47)   Комментарий # 18
    Mika
    Статья немножко устарела... будем исправлять... сейчас такая ситуация http://chdk.clan.su/forum/22-608-10071-16-1296402572

    nixuz   (05.12.10 19:53)   Комментарий # 13
    Нет аватара
    Quote
    ... Чтобы найти только битые пиксели(не обращая внимания на горячие) ...

    Чем отличаются битые и горячие пиксели?


    klakeduker   (05.12.10 23:27)   Комментарий # 14
    klakeduker
    Бог в помощь smile
    Googl

    nixuz   (06.12.10 12:18)   Комментарий # 15
    Нет аватара
    Перефольмулирую вопрос: почему от горячих избавляться не нужно - они же так же вредны?

    klakeduker   (06.12.10 14:20)   Комментарий # 16
    klakeduker
    Почему же не нужно? Если мешают жить - нужно!
    Я на своём SX110IS избавился именно от горячего!
    Висел синим фонарем, мешал творить шедевры wink
    Они все вредны для хозяина аппарата с повышенной претензией на совершенную идеальность biggrin
    Сам страдал излишней щепетильностью, со временем попустило маленько smile
    99% пользователей незнают или не догадываються что у них на матрице есть битые или горячие пикселы!
    Тем не менее живут счастливо!
    Забейте и снимайте smile
    Но лучше зареммапить, забить и снимать wink

    RideR   (22.09.10 23:19)   Комментарий # 12
    RideR
    Отлично сработало. Для себя сделал уровень 128, т.к. разница с 256 была в одну точку, которую было видно на черном кадре.

    klakeduker   (27.02.10 01:09)   Комментарий # 11
    klakeduker
    О, классно!
    Будем надеяться, что этот вариант облегчит жизнь "корректировщикам битых".
    Хотяяяя... думаю без вопросов всё же не обойдеться wink

    Ryabchik   (26.02.10 13:00)   Комментарий # 10
    Ryabchik
    статья обновлена

    DeathRock   (03.09.09 17:55)   Комментарий # 9
    Нет аватара
    Как сделать из полученного файла -> badpixel.bin?
    Я абсолютно уверен, что в теории это возможно, но как?

    ultrasilent   (28.12.08 19:50)   Комментарий # 8
    Нет аватара
    http://chdk.clan.su/forum/5-127-4318-16-1229972636
    надеюсь мой опыт комунить пригодится...

    ssskat   (24.11.08 07:47)   Комментарий # 7
    Нет аватара
    какой прогой определить координаты битых пикселей в раве формата CR2? фотоаппарат Canon g9.

    SpaceInvader   (28.08.08 23:04)   Комментарий # 6
    Нет аватара
    Купил карточку на 8 Gb, сделал как написано тут http://chdk.clan.su/publ/1-1-0-7
    прошивка грузится но коррекция битых пикселей не работает. На старой 2Gb карте все работает нормально, никто не знает в чем дело ?

    xonic   (24.06.08 17:51)   Комментарий # 5
    Нет аватара
    это только у меня не получается скачать badpixel?

    zambiz   (30.05.08 00:35)   Комментарий # 4
    Нет аватара
    Aleksey а ещё разок выложить badpixel можно ? а то отсутствует

    aleksey   (22.02.11 14:02)   Комментарий # 20
    Нет аватара
    Не понял! Я чисто случайно увидел вопрос адресованный мне в
    форуме, куда зашел можно сказать случайно. Может это не ко мне?

    klakeduker   (22.02.11 21:06)   Комментарий # 21
    klakeduker
    Та чё не понятного то?
    Вы на дату гляньте - (30.05.08 00:35)
    Три года тому.....
    А вы зарегестрированы 05.01.11, 23:50 smile
    Так что точно не к вам обращение wink

    pethead   (10.04.08 10:03)   Комментарий # 3
    pethead
    если кому то Show_Bad.exe не слишком понятна, можно попробовать эту...
    результат работы: готовый файл badpixel

    pethead   (10.04.08 06:42)   Комментарий # 2
    pethead
    разобрался. кушает CRW.

    "долго искал как вывести то что выдаёт программа в файл"
    прога написана по простецки. по идее надо ее докумекать и сделать вывод сразу в файл badpixel, а не в stdout

    с параметром threshold (порог?) надо бы поразбираться и описание не помешало бы, почему 256 и в чем измеряется?


    pethead   (10.04.08 06:08)   Комментарий # 1
    pethead
    программа понимает CRW полученный с CHDK или его надо переконверчивать в DNG?

    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]

    Поиск

    v