ملف:JPEG example subimage - equalized.svg

الملف الأصلي(ملف SVG، أبعاده 400 × 400 بكسل، حجم الملف: 3 كيلوبايت)

ملخص

الوصف
English: 8x8 pixel subimage used as an example for JPEG that has been histogram equalization.
التاريخ
المصدر

Own work in Inkscape

المؤلف en:User:Cburnett
الترخيص
(إعادة استخدام هذا الملف)
GFDL (image); GPL (source code)
إصدارات أخرى Image:JPEG example subimage.svg — Non-equalized image

Source code

I generated the normalized data by writing a simple python script:

import math

img = [
    [52, 55, 61,  66,  70,  61, 64, 73],
    [63, 59, 55,  90, 109,  85, 69, 72],
    [62, 59, 68, 113, 144, 104, 66, 73],
    [63, 58, 71, 122, 154, 106, 70, 69],
    [67, 61, 68, 104, 126,  88, 68, 70],
    [79, 65, 60,  70,  77,  68, 58, 75],
    [85, 71, 64,  59,  55,  61, 65, 83],
    [87, 79, 69,  68,  65,  76, 78, 94]
]

# Number of pixels
N = len(img) * len(img[0])

# Initialize histogram and cumulative distribution function (cdf)
hist = {}
cdf = {}
norm_cdf = {}
for i in range(255):
    hist[i] = 0
    cdf[i] = 0
    norm_cdf[i] = 0

# Create histogram
for row in img:
    for val in row:
        hist[val] += 1

# Create cdf
for i in range(255):
    for j in range(i+1):
        cdf[i] += hist[j]
    norm_cdf[i] = int(math.floor(float(cdf[i]-1)/63*255))

newimg = [
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0]
]

for i in range(8):
    for j in range(8):
        newimg[i][j] = norm_cdf[ img[i][j] ]

print '+-------+-----------+-----+----------------+'
print '| %5s | %9s | %3s | %14s |' % ('Value', 'Histogram', 'cdf', 'Normalized cdf')
print '+-------+-----------+-----+----------------+'
for i in range(255):
    if hist[i] == 0: continue
    print '| %5s | %9s | %3s | %14s |' % (i, hist[i], cdf[i], norm_cdf[i])
print '+-------+-----------+-----+----------------+'

print ''
print 'Original subimage:'
print ''
for i in range(8):
    print ('%4d'*8) % tuple(img[i])

print ''
print ''
print 'Equalized subimage:'
print ''

for i in range(8):
    print ('%4d'*8) % tuple(newimg[i])

Sample output:

+-------+-----------+-----+----------------+
| Value | Histogram | cdf | Normalized cdf |
+-------+-----------+-----+----------------+
|    52 |         1 |   1 |              0 |
|    55 |         3 |   4 |             12 |
|    58 |         2 |   6 |             20 |
|    59 |         3 |   9 |             32 |
|    60 |         1 |  10 |             36 |
|    61 |         4 |  14 |             52 |
|    62 |         1 |  15 |             56 |
|    63 |         2 |  17 |             64 |
|    64 |         2 |  19 |             72 |
|    65 |         3 |  22 |             85 |
|    66 |         2 |  24 |             93 |
|    67 |         1 |  25 |             97 |
|    68 |         5 |  30 |            117 |
|    69 |         3 |  33 |            129 |
|    70 |         4 |  37 |            145 |
|    71 |         2 |  39 |            153 |
|    72 |         1 |  40 |            157 |
|    73 |         2 |  42 |            165 |
|    75 |         1 |  43 |            170 |
|    76 |         1 |  44 |            174 |
|    77 |         1 |  45 |            178 |
|    78 |         1 |  46 |            182 |
|    79 |         2 |  48 |            190 |
|    83 |         1 |  49 |            194 |
|    85 |         2 |  51 |            202 |
|    87 |         1 |  52 |            206 |
|    88 |         1 |  53 |            210 |
|    90 |         1 |  54 |            214 |
|    94 |         1 |  55 |            218 |
|   104 |         2 |  57 |            226 |
|   106 |         1 |  58 |            230 |
|   109 |         1 |  59 |            234 |
|   113 |         1 |  60 |            238 |
|   122 |         1 |  61 |            242 |
|   126 |         1 |  62 |            246 |
|   144 |         1 |  63 |            250 |
|   154 |         1 |  64 |            255 |
+-------+-----------+-----+----------------+

Original subimage:

  52  55  61  66  70  61  64  73
  63  59  55  90 109  85  69  72
  62  59  68 113 144 104  66  73
  63  58  71 122 154 106  70  69
  67  61  68 104 126  88  68  70
  79  65  60  70  77  68  58  75
  85  71  64  59  55  61  65  83
  87  79  69  68  65  76  78  94

Equalized subimage:

   0  12  52  93 145  52  72 165
  64  32  12 214 234 202 129 157
  56  32 117 238 250 226  93 165
  64  20 153 242 255 230 145 129
  97  52 117 226 246 210 117 145
 190  85  36 145 178 117  20 170
 202 153  72  32  12  52  85 194
 206 190 129 117  85 174 182 218

ترخيص

Image is licensed under the GFDL:

أنا، صاحب حقوق التأليف والنشر لهذا العمل، أنشر هذا العمل تحت الرخص التالية:
GNU head يسمح نسخ وتوزيع و/أو تعديل هذه الوثيقة تحت شروط رخصة جنو للوثائق الحرة، الإصدار 1.2 أو أي إصدار لاحق تنشره مؤسسة البرمجيات الحرة؛ دون أقسام ثابتة ودون نصوص أغلفة أمامية ودون نصوص أغلفة خلفية. نسخة من الرخصة تم تضمينها في القسم المسمى GNU Free Documentation License.
w:ar:مشاع إبداعي
نسب العمل إلى مُؤَلِّفه الإلزام بترخيص المُشتقات بالمثل
هذا الملفُّ مُرخَّص بموجب رخصة المشاع الإبداعي نسبة المُصنَّف إِلى مُؤَلِّفه - المشاركة بالمثل 3.0 العامة
يحقُّ لك:
  • مشاركة العمل – نسخ العمل وتوزيعه وبثُّه
  • إعادة إنتاج العمل – تعديل العمل
حسب الشروط التالية:
  • نسب العمل إلى مُؤَلِّفه – يلزم نسب العمل إلى مُؤَلِّفه بشكل مناسب وتوفير رابط للرخصة وتحديد ما إذا أجريت تغييرات. بالإمكان القيام بذلك بأية طريقة معقولة، ولكن ليس بأية طريقة تشير إلى أن المرخِّص يوافقك على الاستعمال.
  • الإلزام بترخيص المُشتقات بالمثل – إذا أعدت إنتاج المواد أو غيرت فيها، فيلزم أن تنشر مساهماتك المُشتقَّة عن الأصل تحت ترخيص الأصل نفسه أو تحت ترخيص مُتوافِقٍ معه.
تمت إضافة علامة الترخيص لهذا الملف كجزء من رخصة جنو للوثائق الحرة تحديث الترخيص.
لك أن تختار الرخصة التي تناسبك.

Source code is licensed under the GPL version 2:

أنا، صاحب حقوق التأليف والنشر لهذا العمل، أنشر هذا العمل تحت الرخصة التالية:
GNU head هذا العمل برمجيات حرة; يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة جنو للوثائق الحرة الإصدار 2، يتم توزيع هذا العمل على أمل أن يكون مفيدا، ولكن دون أي ضمان؛ دون حتى الضمان الضمني للتسويق أو الملاءمة لغرض معين، انظر الإصدار 2 من رخصة جنو العمومية لمزيد من التفاصيل.

الشروحات

أضف شرحاً من سطر واحد لما يُمثِّله هذا الملف

العناصر المصورة في هذا الملف

يُصوِّر

٣ يناير 2008

تاريخ الملف

اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.

زمن/تاريخصورة مصغرةالأبعادمستخدمتعليق
حالي13:16، 23 أكتوبر 2022تصغير للنسخة بتاريخ 13:16، 23 أكتوبر 2022400 × 400 (3 كيلوبايت)Smasongarrisonseems to have passed the validation check after slimmed down with svgomg // Editing SVG source code using c:User:Rillke/SVGedit.js
00:55، 4 يناير 2008تصغير للنسخة بتاريخ 00:55، 4 يناير 2008400 × 400 (22 كيلوبايت)Cburnett{{Information |Description={{en|8x8 pixel subimage used as an example for JPEG that has been histogram equalization.}} |Source=Own work in Inkscape |Date=January 3, 2008 |Author=en:User:Cburnett |Pe

الصفحة التالية تستخدم هذا الملف:

الاستخدام العالمي للملف

الويكيات الأخرى التالية تستخدم هذا الملف:

بيانات وصفية