CompStart

ProУрокиКурсыЭлементыСофт

CompStart

Осваивайте визуальные эффекты и передовые техники.

Обучение

КурсыУрокиPro-функцииРесурсыСофт

Tools

Tech CheckDisplay CheckMotion BlurPhysLightNuke Tools

Компания

InstructorМиссияКарта сайтаКонфиденциальностьУсловия

Проекты

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsКонтакты

© 2026 CompStart. Все права защищены.

Поиск мертвых пикселей

ToolSets / Utility
Utility

2026-09-07

ToolSets/utility/deadPixelFinder.nk

полезность
битый пиксель
тарелка
Контроль качества
TimeEcho
обзор
датчик
Открыть на GitHub

Функция выделяет «застрявшие» или «битые» пиксели на изображении, сравнивая кадры во времени, для интерактивного просмотра в графическом интерфейсе Nuke.

Программа Dead Pixel Finder обнаруживает застрявшие или битые пиксели в видеоматериале, анализируя ряд кадров и выделяя мельчайшие статические различия, благодаря чему исправленные дефекты сенсора выделяются на фоне движущегося изображения.

Используйте его на пластинах перед блокировкой компьютера, когда вам нужно быстро визуально проверить наличие «горячих» или «битых» пикселей, которые остаются на одном месте.

В графическом интерфейсе пользователя параметр «Кадры для просмотра» управляет количеством включенных предыдущих кадров. Узел обрабатывает и хранит результат, чтобы дефекты были понятны. За пределами графического интерфейса он выводит обнуленное изображение, поэтому предназначен для интерактивных проверок, а не для рендеринга.

Script code

set cut_paste_input [stack 0]
version 12.1 v4
push $cut_paste_input
Group {
 name deadPixelFinder
 tile_color 0x421010ff
 selected true
 xpos -1103
 ypos 99
 addUserKnob {20 User l deadPixelFinder}
 addUserKnob {41 framesbehind l "Frames to look at" T TimeEcho1.framesbehind}
 addUserKnob {26 ""}
 addUserKnob {26 lbl l "" t "May 15, 2019 - v1.1 Refined\nMay 15, 2019 - v1.2 Gui only" +STARTLINE T "Dead Pixel Finder v1.2"}
 addUserKnob {22 btn l DerekVFX.ca T "nuke.tcl('start', 'https://derekvfx.ca')" +STARTLINE}
}
 Input {
  inputs 0
  name Input
  xpos 447
  ypos 61
 }
 Dot {
  name Dot1
  note_font_size 40
  xpos 481
  ypos 215
 }
set Nd7a4800 [stack 0]
 Dot {
  name Dot2
  note_font_size 40
  xpos 640
  ypos 215
 }
 Invert {
  channels rgb
  name Invert3
  xpos 606
  ypos 351
 }
 TimeEcho {
  framesbehind 60
  name TimeEcho1
  selected true
  xpos 606
  ypos 411
  disable {{"!\$gui"}}
 }
 Invert {
  channels rgb
  name Invert4
  xpos 606
  ypos 474
 }
 Dot {
  name Dot170
  note_font_size 40
  xpos 640
  ypos 554
 }
set Nd7d5400 [stack 0]
 Dot {
  name Dot4
  note_font_size 40
  xpos 849
  ypos 554
 }
 Colorspace {
  colorspace_out Cineon
  name Colorspace1
  xpos 815
  ypos 635
 }
 Blur {
  channels rgba
  size 0.67
  name Blur18
  label "\[value size] px"
  xpos 815
  ypos 689
 }
 Dot {
  name Dot5
  note_font_size 40
  xpos 849
  ypos 769
 }
push $Nd7d5400
 Colorspace {
  colorspace_out Cineon
  name Colorspace2
  xpos 606
  ypos 644
 }
 Merge2 {
  inputs 2
  operation difference
  bbox B
  name Merge83
  xpos 606
  ypos 765
 }
 Grade {
  whitepoint 0.0002
  gamma 0.455
  name Grade20
  xpos 606
  ypos 805
 }
 FrameHold {
  first_frame {{last_frame}}
  name FrameHold1
  xpos 606
  ypos 849
 }
 Dot {
  name Dot3
  note_font_size 40
  xpos 640
  ypos 939
 }
push $Nd7a4800
 Remove {
  operation keep
  channels rgba
  name Remove1
  label "\[value channels]"
  xpos 447
  ypos 343
 }
 Multiply {
  channels rgba
  value 0
  name Multiply1
  label "\[value value]"
  xpos 447
  ypos 413
 }
 Switch {
  inputs 2
  which {{"\$gui"}}
  name Switch1
  label "\[value which]"
  xpos 447
  ypos 929
 }
 Output {
  name Output1
  xpos 447
  ypos 1055
 }
end_group