: img_decim_arr = img_arr[::2,::2]
, orijinal görüntü histogram çok benzer histogram elde edildi:
kırım kullanılarak: alt örnekleme yöntemi önerilmektedir skimage.measure.block_reduce(img_arr, block_size = (2,2), func=np.mean)
(2x2 blok ortalama) (içerisinde stackoverflow bulunan Bazı tartışmalar) çok karakteristik histogram üretir:
Her ikinci bölme daha büyüktür. Eminim bu, bazı takma efektlerden kaynaklanıyordur. Altörneklemenin görüntü (2D sinyal) histogramını nasıl etkilediği konusunda herhangi bir teorik ipucu açıklayabilir ve verebilir misiniz?Olağandışı histogram kullanılarak basit bir görüntü seyreltme sonra
5
A
cevap
1
np.mean
işlevi, tamsayılara yuvarlanmadığı ve döngüleri döndürmediği için buradaki bir sorundur.
import numpy as np
import skimage.measure
a = (10 * np.random.randn(10,10) + 127).astype(np.uint8)
a
Out[4]:
array([[121, 124, 139, 129, 130, 114, 127, 96, 114, 135],
[127, 132, 102, 142, 119, 107, 138, 130, 141, 132],
[113, 132, 132, 118, 121, 120, 142, 115, 124, 128],
[127, 121, 129, 129, 121, 119, 126, 113, 128, 116],
[144, 131, 123, 131, 130, 137, 140, 142, 127, 128],
[127, 126, 124, 115, 127, 125, 122, 126, 147, 132],
[118, 119, 117, 117, 133, 149, 122, 120, 116, 138],
[147, 147, 127, 117, 123, 123, 136, 121, 139, 129],
[142, 129, 113, 111, 130, 116, 137, 127, 106, 148],
[132, 141, 141, 142, 119, 132, 126, 115, 131, 122]], dtype=uint8)
b = skimage.measure.block_reduce(a, block_size = (2,2), func=np.mean)
b
Out[6]:
array([[ 126. , 128. , 117.5 , 122.75, 130.5 ],
[ 123.25, 127. , 120.25, 124. , 124. ],
[ 132. , 123.25, 129.75, 132.5 , 133.5 ],
[ 132.75, 119.5 , 132. , 124.75, 130.5 ],
[ 136. , 126.75, 124.25, 126.25, 126.75]])
Bu, kendi mantığınızda ilginç yan efektler verebilir. Kesinlikle floplotlibs histogram fonksiyonu ile vidalanır, çünkü floatlar, bin sınırlarının nasıl yerleştirileceği konusunda farklı düşünür.
Kontrol şuna:
a = (10 * np.random.randn(200,200) + 127).astype(np.uint8)
b = skimage.measure.block_reduce(a, block_size = (2,2), func=np.mean)
hist(b.ravel(), bins=255)
beyaz bit hist
işlev döndürdüğü dizideki aslında sıfır bulunmaktadır. o bidonları verilmesi
hist(b.ravel().astype(np.uint8), bins=255)
ve aralık sorunu çözer: oyuncağım örnekte yuvarlama zorla verirsen, daha da kötüleşiyor. Eğer yakın Büyütmek bile
hist(b.ravel().astype(np.uint8), bins=255, range=(0,255))
İlgili konular
- 1. Histogram
- 2. Servlet kullanılarak basit bir web sayfası oluşturma
- 3. Olağandışı "statik" yöntem bildirimi
- 4. Açısal Filtre Olağandışı Sonuçları
- 5. bir histogram olarak işaretlendiğinde Gauss formunun olan veri histogram
- 6. Dikey Histogram
- 7. R - histogram
- 8. JFreeChart içinde temel histogram
- 9. İşlevdeki Başlığa Histogram Ekleme
- 10. fabric.js kullanılarak görüntü filtreleri nasıl eklenir
- 11. Yayılma ve görüntü ayırıcısı kullanılarak hata oluştu
- 12. m2e kullanılarak basit bir maven projesi nasıl oluşturulur
- 13. Histogram fonksiyonunun paralelleştirilmesi
- 14. node.js kullanılarak s3 üzerinde saklanan bir görüntü kaydediliyor mu?
- 15. Kopyalama bittikten sonra görüntü bozulmuş
- 16. C Olağandışı bellek kullanımına sahip Python Modülü
- 17. Histogram histogramı yoğunluk eğrisi ile
- 18. pylab histogram netten kurtulun
- 19. Histogram nasıl oluşturulur?
- 20. OpenCV Renk Konsantrasyon Histogram
- 21. Histogram benzeri arsa R
- 22. Python'da Histogram grafiği
- 23. Histogram koşullu dolgu rengi
- 24. Python histogram anahatları
- 25. Histogram ağırlıkta R
- 26. toplu histogram 0
- 27. Spesifik Histogram R
- 28. Basit bir görüntü çizen IOS Xamarin C kullanarak bulanık çıkıyor #
- 29. Bir görüntü dosyasının şifrelenmesi için Basit Şifreleme/Şifre Çözme yöntemi
- 30. Ruby'de görüntü boyutlarını almanın basit bir yolu var mı?
çizilen veri ayrık mı? Ayrık veriler için çok küçük kutuları seçerken kötü görsel efektler alabilirsiniz. Kutu sayısını değiştirmeyi ve bunun bu etkiyi kaldırıp kaldırmayacağını görmeyi deneyeceğim. – cel
Evet, görüntü renk alanı 8-bit gri tonlamalıdır, bu nedenle, her bir yoğunluk için bir tanesi 256'dır. – MarcinBurz