{"id":498,"date":"2011-02-14T14:25:03","date_gmt":"2011-02-14T13:25:03","guid":{"rendered":"http:\/\/roboblog.fatal-fury.de\/?p=498"},"modified":"2013-07-30T21:09:36","modified_gmt":"2013-07-30T20:09:36","slug":"opencv-death-hot-pixel-im-bild-entfernen","status":"publish","type":"post","link":"http:\/\/roboblog.fatal-fury.de\/?p=498","title":{"rendered":"OpenCV death (hot) Pixel im Bild entfernen"},"content":{"rendered":"<p>Da meine ca. 11 Jahre alte Webcam mitlerweile ein paar kaputte Pixel hat, die einfach nur wei\u00df sind, habe ich mir \u00fcberlegt was man dagegen tun kann. Eine M\u00f6glichkeit w\u00e4re, die Pixel zu erkennen und durch den Median der umliegenden Pixel zu ersetzten.<\/p>\n<p>Um die Pixel zu erkennen macht man einfach ein paar Aufnahmen im dunkeln (oder h\u00e4lt die Hand vor die Kamera). Die kaputten Pixel heben sich deutlich vom Mittelwert ab. Anschliessend kann man das Bild binarisieren. Eine brauchbare Schwelle ist Mittelwert + 3 * Standardabweichung. Dann kommen wirklich nur Ausreisser durch. Anschliessend werden diese Pixel im original Bild durch ihren Median ersetzt. <\/p>\n<p>Die Umsetzung in OpenCV ist etwas eklig. Es m\u00fcssen mehrere Zwischenbilder erstellt werden. Und vorallem akzeptiert die Filterfunktion keine Masken. Es kann also nur auf das gesammte Bild der Median angewand werden. Wenn man aber anschliessend alle nicht-kaputten Pixel wieder zur\u00fcck kopiert, ist das Resulatat das selbe.<\/p>\n<p><a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2011\/02\/hotPixelRemoval.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2011\/02\/hotPixelRemoval.png\" alt=\"hotPixelRemoval\" title=\"hotPixelRemoval\" width=\"280\" height=\"220\" class=\"alignnone size-full wp-image-502\" \/><\/a><\/p>\n<p>Code gibts leider keinen, weil zu unsch\u00f6n von mir umgesetzt. Werde mich demn\u00e4chst mal mit OpenCV Version 2 besch\u00e4ftigen. In der Hoffnung, dass man dort das ganze sch\u00f6ner umsetzten kann. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da meine ca. 11 Jahre alte Webcam mitlerweile ein paar kaputte Pixel hat, die einfach nur wei\u00df sind, habe ich mir \u00fcberlegt was man dagegen tun kann. Eine M\u00f6glichkeit w\u00e4re, die Pixel zu erkennen und durch den Median der umliegenden Pixel zu ersetzten. Um die Pixel zu erkennen macht man einfach ein paar Aufnahmen im [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[14,16],"class_list":["post-498","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-c","tag-opencv"],"_links":{"self":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=498"}],"version-history":[{"count":5,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/498\/revisions"}],"predecessor-version":[{"id":1824,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/498\/revisions\/1824"}],"wp:attachment":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=498"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}