{"id":1153,"date":"2012-03-19T23:01:48","date_gmt":"2012-03-19T22:01:48","guid":{"rendered":"http:\/\/roboblog.fatal-fury.de\/?page_id=1153"},"modified":"2017-03-04T11:08:50","modified_gmt":"2017-03-04T10:08:50","slug":"image-entropy","status":"publish","type":"post","link":"http:\/\/roboblog.fatal-fury.de\/?p=1153","title":{"rendered":"Image entropy"},"content":{"rendered":"<p>Ich habe versuch ein Programm zu schreiben, was anzeigen kann wieviel Zufall in einem Bild steckt. Nur kann man den Zufall<br \/>\nnicht wirklich messen. Ich habe mir darum folgendes ausgedacht:<br \/>\nDas komprimieren von Daten verringert ja ihre Gr\u00f6\u00dfe. Und je weniger zuf\u00e4llig die Daten sind, desto besser kann man sie komprimieren. Also nehme ich das Verh\u00e4ltnis zwischen der Rohdatengr\u00f6\u00dfe und der komprimierten Daten.<br \/>\nJetzt ist das ganze aber noch abh\u00e4nig von der Anzahl der Pixel, die zum komprimieren benutzt wurden. Also teilt man<br \/>\neinfach die Datengr\u00f6\u00dfe durch die Anzahl der Pixel. Man bekommt also eine Einheit \"Byte\/Pixel\". <\/p>\n<p>Im unkomprimierten Zustand sind das 4 Byte\/Pixel entsprechend dem Rot\/Gr\u00fcn\/Blau\/Alpha Wert. Im komprimierten Zustand entsprechend weniger. Nun kann man das wieder ins Verh\u00e4ltnis setzen und man beommt einen Wert zwischen 0 und 1. <\/p>\n<p>Um das zu visualisieren mache ich folgendes. Es werden immer 20x20 Pixel gro\u00dfe Bereiche des Bildes  untersucht und dann entsprechend dem Ergebnis ihre Transparenz gesetzt. Bereiche mit \"wenig Zufall\" werden so ausgeblendet und es bleiben nur interessante Bereiche des Bildes sichtbar.<\/p>\n<p>Das ganze ihr aber wohl sehr vom verwendeten Komprimieralgo abh\u00e4nig. qCompress() von Qt komprimiert wohl dunkle Stellen im Bild besser als helle.<br \/>\n<a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena-150x150.jpg\" alt=\"lena\" title=\"lena\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1154\" srcset=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena-150x150.jpg 150w, http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena-300x300.jpg 300w, http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena.jpg 512w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><br \/>\n<a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena_danach.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena_danach-150x150.png\" alt=\"lena_danach\" title=\"lena_danach\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1170\" srcset=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena_danach-150x150.png 150w, http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena_danach-300x300.png 300w, http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/lena_danach.png 512w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/testbild_1297949508.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/testbild_1297949508-150x150.jpg\" alt=\"testbild_1297949508\" title=\"testbild_1297949508\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1156\" \/><\/a><br \/>\n<a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/testbild_1297949508_danach.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/testbild_1297949508_danach-150x150.png\" alt=\"testbild_1297949508_danach\" title=\"testbild_1297949508_danach\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1171\" \/><\/a><\/p>\n<p><a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/dsc04491a.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/dsc04491a-150x150.jpg\" alt=\"dsc04491a\" title=\"dsc04491a\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1158\" \/><\/a><br \/>\n<a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/dsc04491a_danach.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/dsc04491a_danach-150x150.jpg\" alt=\"dsc04491a_danach\" title=\"dsc04491a_danach\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1168\" \/><\/a><\/p>\n<p><a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/dsc04491a_invert.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/dsc04491a_invert-150x150.jpg\" alt=\"dsc04491a_invert\" title=\"dsc04491a_invert\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1178\" \/><\/a><br \/>\n<a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/dsc04491a_invert_danach.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/dsc04491a_invert_danach-150x150.png\" alt=\"dsc04491a_invert_danach\" title=\"dsc04491a_invert_danach\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1179\" \/><\/a><\/p>\n<p><a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/birds_davor.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/birds_davor-150x150.jpg\" alt=\"birds_davor\" title=\"birds_davor\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1160\" \/><\/a><br \/>\n<a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/birds_danach.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/birds_danach-150x150.png\" alt=\"birds_danach\" title=\"birds_danach\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1173\" \/><\/a><\/p>\n<p><a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/testimage_davor.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/testimage_davor-150x150.png\" alt=\"testimage_davor\" title=\"testimage_davor\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1163\" \/><\/a><br \/>\n<a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/testimage_danach.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/testimage_danach-150x150.png\" alt=\"testimage_danach\" title=\"testimage_danach\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1161\" \/><\/a><\/p>\n<p><a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/birdcout_davor.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/birdcout_davor-150x150.jpg\" alt=\"birdcout_davor\" title=\"birdcout_davor\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1164\" \/><\/a><br \/>\n<a href=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/birdcout.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/roboblog.fatal-fury.de\/wp-content\/uploads\/2012\/03\/birdcout-150x150.png\" alt=\"birdcout\" title=\"birdcout\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-1165\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe versuch ein Programm zu schreiben, was anzeigen kann wieviel Zufall in einem Bild steckt. Nur kann man den Zufall nicht wirklich messen. Ich habe mir darum folgendes ausgedacht: Das komprimieren von Daten verringert ja ihre Gr\u00f6\u00dfe. Und je weniger zuf\u00e4llig die Daten sind, desto besser kann man sie komprimieren. Also nehme ich das [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1153","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/1153","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=1153"}],"version-history":[{"count":9,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/1153\/revisions"}],"predecessor-version":[{"id":2784,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/1153\/revisions\/2784"}],"wp:attachment":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1153"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}