internet pencereler Android

Raster kodlama. Grafik bilgilerinin ikili kodlaması Paletli kodlama

Soru 7. Renk derinliği

renk derinliği - bir pikseli kodlamak için kullanılan bit sayısıdır.

Bir pikseli kodlamak için alırız 1 bit– o zaman onun yardımıyla sadece alabiliriz 2 renk: siyah (0) ve beyaz (1), yani siyah beyaz bir görüntü.

2 bit– 4 renk (00, 01, 10, 11)

8 bit– 2 8 renk = 256 çiçekler, vb.

Böylece, renk sayısı aşağıdaki formülle belirlenebilir:

nerede, n- çiçek sayısı

Bence - biraz renk derinliği.

Çözüm: 1 pikseli kodlamak için ne kadar çok bit kullanılırsa, görüntü o kadar fazla renk ve gerçekçilik sağlar, ancak dosya boyutu da artar.

Böylece, bitmap dosya boyutu piksel cinsinden görüntünün genişlik ve yüksekliğinin ve renk derinliğinin ürünüdür.

Fotoğrafta ne gösterildiği hiç önemli değil. Üç parametre aynıysa, sıkıştırılmamış dosya boyutu herhangi bir görüntü için aynı olacaktır.

Hesaplama örneği. 800 x 600 çözünürlüğe sahip 24 bitlik bir grafik dosyasının boyutunu belirleyin.

Çözüm. Dosyanın parametrelere sahip olması koşuluyla

A = 800 piksel

Y = 600 piksel

Renk derinliği Bence= 24 bit(3 bayt)

o zaman dosya boyutu formülü V = A + B + I'dir

V = 800 x 600 x 24 = 11520000 bit = 1440000 bayt = 1406, 25 KB = 1,37 MB

Örnek 2 Optimizasyon sürecinde renk sayısı 65536'dan 256'ya düşürüldü. Dosya boyutu kaç kat azaldı.

N = 2 I formülünden, renk derinliğinin Bence 1 = kayıt 2 65536 = 16 bit ve optimizasyondan sonra Bence 2 = kayıt 2 256 = 8 bit

Aynı zamanda, görüntünün piksel cinsinden boyutu değişmedi. elimizdeki dosya boyutunu hesaplamak için formülü kullanarak: V 1 = a x b x 16 = 16 ab ve

V 2 \u003d bir x b x 8 \u003d 8 ab

V 1: V 2 \u003d 16 ab: 8 ab oranını oluşturuyoruz

Yani: grafik dosyasının boyutu, görüntünün boyutuna ve renk sayısına bağlıdır.

Aynı zamanda, 24 veya 32 bit kodlamalı yüksek kaliteli bir görüntünün oldukça büyük olduğu (megabayt) olduğu ortaya çıkıyor.

Bu, görüntüleri depolamak ve aktarmak için çok elverişsizdir (özellikle internette). Bu nedenle, grafik dosyaları optimizasyona tabidir.

Renk derinliği– piksel başına bit sayısı (bpp). En popüler çözünürlük 8 bpp (256 renk), 16 bpp (65536 renk)

80'lerden beri bir bilgisayarda grafik bilgilerini işleme teknolojisi gelişiyor. Tek tek noktalardan (piksellerden) oluşan bir grafik görüntünün gösterim ekranındaki temsil biçimine raster denir.

Raster grafik düzenleyicideki minimum nesne bir noktadır. Raster grafik editörü, çizimler, diyagramlar oluşturmak için tasarlanmıştır.

Monitörün çözünürlüğü (yatay ve dikey nokta sayısı) ve her nokta için olası renk sayısı, monitör tipine göre belirlenir.

Ortak çözünürlük 800 x 600 = 480.000 noktadır.

Siyah beyaz ekranın 1 pikseli, 1 bit bilgi (siyah nokta veya beyaz nokta) ile kodlanmıştır. Farklı renklerin sayısı K ve bunların kodlaması için kullanılan bitlerin sayısı şu formülle ilişkilidir: K = 2b.

Modern monitörler aşağıdaki renk paletlerine sahiptir: 16 renk, 256 renk; 65.536 renk (yüksek renk), 16.777.216 renk (gerçek renk).

Masada. 1, bir pikselin bilgi kapasitesinin monitörün renk paletine bağımlılığını gösterir.

tablo 1

renk sayısı

monitör

Bir noktayı kodlayan bit sayısı

16 (2 16 = 65 536)

24 (2 24 =16 777 216)

Hafıza tüm ekranı kaplayan bir grafik görüntüyü depolamak için gerekli (video belleği), çözünürlüğün ürününe ve bir noktayı kodlayan bitlerin sayısına eşittir. Bir bilgisayarın video belleğinde bir bitmap (ikili görüntü kodu) saklanır, işlemci tarafından saniyede en az 50 kez okunur ve ekranda görüntülenir.

Masada. 2, farklı çözünürlüklere ve renk paletlerine sahip monitörler için video belleği miktarını gösterir.

Tablo 2

256 renk

65536 renk

167777216 renkler

Teknik resim ve benzeri grafik görüntülerin bilgisayara girilmesi ve saklanması farklı şekilde gerçekleştirilir. Herhangi bir çizim bölümlerden, yaylardan, dairelerden oluşur. Çizimdeki her parçanın konumu, başlangıcını ve sonunu tanımlayan iki noktanın koordinatları ile verilir. Daire, merkezin koordinatları ve yarıçapın uzunluğu ile verilir. Yay - başlangıç ​​ve bitiş, merkez ve yarıçapın koordinatları. Her satır için türü belirtilir: ince, noktalı vb. Bu grafik bilgi sunum biçimine vektör denir. Vektör grafik düzenleyicisi tarafından işlenen minimum birim bir nesnedir (dikdörtgen, daire, yay). Çizimlerle ilgili bilgiler özel programlar tarafından işlenir. Bilgileri vektör biçiminde depolamak, gerekli bellek miktarını, bilgi gösteriminin raster biçimine kıyasla birkaç büyüklük sırası kadar azaltır.

video belleği ekranda görüntülenen görüntü hakkında ikili bilgidir. Bilgisayar kullanılarak oluşturulan, işlenen veya görüntülenen hemen hemen tüm görüntüler iki büyük parçaya ayrılabilir - raster ve vektör grafikleri.

bit eşlemler piksel (İngilizce resim öğesinden piksel) adı verilen tek katmanlı bir nokta ızgarasıdır. piksel kodu rengi hakkında bilgi içerir.

Siyah beyaz bir görüntü için (yarı tonlar olmadan), bir piksel yalnızca iki değer alabilir: beyaz ve siyah (parlar - parlamaz) ve onu kodlamak için bir bit bellek yeterlidir: 1 - beyaz, 0 - siyah.

Renkli ekrandaki bir pikselin farklı renkleri olabilir, bu nedenle piksel başına bir bit yeterli değildir. 4 renkli bir görüntüyü kodlamak için piksel başına iki bit gerekir, çünkü iki bit 4 farklı durum alabilir. Örneğin, bu renk kodlama seçeneği kullanılabilir: 00 - siyah, 10 - yeşil, 01 - kırmızı, 11 - kahverengi.

RGB monitörlerde, 8 temel kombinasyonun elde edilebileceği kırmızı (Kırmızı), yeşil (Yeşil), mavi (Mavi) temel renkleri birleştirerek tüm renk çeşitliliği elde edilir:

renk

kahverengi

Tabii ki, temel renklerin parlaklığının yoğunluğunu (parlaklığını) kontrol etme yeteneğiniz varsa, kombinasyonları için çeşitli gölgeler oluşturan farklı seçeneklerin sayısı artar. Farklı renklerin sayısı - K ve kodlamaları için bit sayısı - N, basit bir formülle birbirine bağlanır: 2 N = K.

Raster grafiklerin aksine vektör görüntü katmanlı. Bir vektör görüntüsünün her öğesi - bir çizgi, bir dikdörtgen, bir daire veya bir metin parçası - pikselleri diğer katmanlardan bağımsız olarak ayarlanan kendi katmanında bulunur. Bir vektör görüntüsünün her öğesi, özel bir dil (çizgilerin, yayların, dairelerin matematiksel denklemleri vb.) kullanılarak açıklanan bir nesnedir. Karmaşık nesneler (kırık çizgiler, çeşitli geometrik şekiller) bir dizi temel grafik nesnesi olarak temsil edilir.

Görevler

Kontrol soruları

1. 1 karakteri kodlamak için kaç bit gereklidir?

2. Ortalama öğrenci okuma hızı dakikada 160 karakterdir. 7 saat boyunca metnin sürekli okunmasında ne kadar bilgi işleyecek?

3. Grafik bilgilerinin raster temsil biçiminin özü nedir?

4. Siyah beyaz bir monitör ekranının 1 noktasını kodlamak için kaç bit bilgi gerekir?

5. Ekran video belleği miktarını belirleme formülü nedir?

6. Grafik bilgilerinin vektör biçiminin sunumunun özü nedir?

Görev 1. 1024 x 600 çözünürlüğe sahip 24 bitlik bir grafik dosyasının boyutunu belirleyin.

Görev 2. Optimizasyon sürecinde renk sayısı 65536'dan 2'ye düşürüldü. Dosya boyutu kaç kat azaldı.

Görev 3. Resmin ikili kodu verilmiştir. Çizimin monokrom olduğu ve matrisin 8X8 boyutunda olduğu bilinmektedir. Çizimi kodla geri yükleyin:

a) 00111100 01000010 00000010 01111110 10000010 10000010 10000110 01111011

b) 10111110 11000001 10000001 00111110 00000001 00000001 10000001 01111110

c) 00111111 01000010 01000010 01000010 00111110 00100010 01000010 11000111

Görev4 . Ekrandaki görüntü, tek tek noktalardan (pikseller) oluşturulur. Ekran çözünürlüğünün 1200x1024 olarak ayarlanmasına izin verin. Ekran görüntüsü şu şekilde kaydedilirse (nokta nokta, bit eşlem - * bmp biçiminde) bilgisayar belleğinde kaç bayt alır:

a) tek renkli görüntü;

b) 256 renkli çizim;

c) 24 bit çizim.

Görev 5. RGB renk oluşum modeline göre renkli bir görüntünün bir noktasının (piksel) renk tonunu kodlamak için 1 bayt (8 bit) kullanılır: kırmızı (Kırmızı) rengin parlaklık seviyesini kodlamak için 3 bit, için 2 bit yeşil (Yeşil) rengin parlaklık seviyesini ve mavi (Mavi) rengin 3 bitini kodlar. Tanımlamak:

a) bu şekilde her rengin kaç parlaklık seviyesi kodlanabileceği;

b) görüntünün kaç renk tonunun aktarılabileceği.

Aynı sorunu çözün, ancak True Color modunu kullanarak, bir pikselin rengini iletmek için 3 bayt kullanıldığında - her renk için bir tane.

Ölçek

1. Müfredat 19 KB PC belleği kaplar. Program talimatı 1 ekran çerçevesini kaplar (80 karakterlik 25 satır). Programın hangi bölümü talimattır?

a) 2000 bayt;

c) 1/10 kısım;

2. Bilgisayar ekranı, çözünürlük ve her nokta için olası renk sayısı bakımından farklılık gösteren çeşitli modlarda çalışabilir.

Tabloyu doldurun:

3. Bir raster grafik düzenleyicide kullanılan minimum nesne nedir?

a) Ekran noktası (piksel);

b) nesne (dikdörtgen, daire vb.);

c) renk paleti;

d) aşinalık (sembol).

4. Vektör grafik düzenleyicisi ne işe yarar?

a) Çizimler oluşturmak için;

b) grafikleri çizmek için:

c) diyagramlar oluşturmak;

d) çizimler oluşturmak ve düzenlemek için.

6. Siyah beyaz bir ekranda (parlaklık derecesi olmadan) 1 noktanın ikili kodlaması ne kadar bilgi gerektirir?

d) 16 bayt.

7. Bir raster grafik dosyası, 16 gri tonu, 10x10 piksel boyutunda siyah beyaz bir görüntü içerir. Bu dosyanın bilgi hacmi nedir?

b) 400 bayt;

d) 100 bayt.

Test 2.2 için doğru cevaplar: 1-d, 3-a, 4-a, 5-b, 6-a, 7-c.

Kod, önceden tanımlanmış bazı kavramları kaydetmek (veya iletmek) için bir dizi kuraldır (veya sinyallerdir).

Bilgiyi kodlama, bilginin belirli bir temsilini oluşturma sürecidir. Daha dar bir anlamda, "kodlama" terimi genellikle bir bilgi sunumu biçiminden diğerine, depolama, iletim veya işleme için daha uygun geçiş olarak anlaşılır.

Genellikle kodlama sırasında her görüntü (bazen - şifreleme derler) ayrı bir işaretle temsil edilir.

Bir işaret, sonlu bir farklı öğeler kümesinin bir öğesidir.

Daha dar bir anlamda, "kodlama" terimi genellikle bir bilgi sunumu biçiminden diğerine, depolama, iletim veya işleme için daha uygun geçiş olarak anlaşılır.

Bir bilgisayar yalnızca sayısal biçimde sunulan bilgileri işleyebilir. Diğer tüm bilgiler (sesler, görüntüler, enstrüman okumaları vb.) bilgisayarda işlenmek üzere sayısal forma dönüştürülmelidir. Örneğin, müzik sesini ölçmek için, belirli frekanslardaki sesin yoğunluğu kısa aralıklarla ölçülebilir ve her ölçümün sonuçları sayısal biçimde sunulabilir. Bilgisayar programları yardımıyla, alınan bilgilerin dönüşümlerini, örneğin farklı kaynaklardan gelen sesleri üst üste "bindirme" yapabilirsiniz.

Benzer şekilde, metin bilgileri bir bilgisayarda işlenebilir. Bilgisayara girildiğinde her harf belirli bir sayı ile kodlanır ve harici cihazlara (ekran veya baskı) çıktı alındığında, insan algısı için bu sayılar kullanılarak harflerin görüntüleri oluşturulur. Bir dizi harf ve sayı arasındaki yazışmaya karakter kodlaması denir.

Kural olarak, bilgisayardaki tüm sayılar sıfırlar ve birler kullanılarak temsil edilir (ve insanlar için geleneksel olduğu gibi on basamak değil). Başka bir deyişle, bilgisayarlar genellikle ikili sistemde çalışır, çünkü onları işlemek için kullanılan cihazlar çok daha basittir. Sayıların bir bilgisayara girilmesi ve insan okuması için çıktısının alınması olağan ondalık biçimde yapılabilir ve gerekli tüm dönüştürmeler bilgisayarda çalışan programlar tarafından gerçekleştirilir.

Bilgileri kodlamanın yolları.

Aynı bilgi çeşitli şekillerde sunulabilir (kodlanabilir). Bilgisayarların ortaya çıkmasıyla birlikte hem bireyin hem de insanlığın bir bütün olarak uğraştığı her türlü bilgiyi kodlamak gerekli hale geldi. Ancak insanlık, bilgisayarların ortaya çıkmasından çok önce bilgi kodlama sorununu çözmeye başladı. İnsanlığın görkemli başarıları - yazı ve aritmetik - konuşma ve sayısal bilgileri kodlamak için bir sistemden başka bir şey değildir. Bilgi asla saf haliyle ortaya çıkmaz, her zaman bir şekilde sunulur, bir şekilde kodlanır.

İkili kodlama, bilgiyi temsil etmenin en yaygın yollarından biridir. Bilgisayarlarda, robotlarda ve sayısal kontrollü takım tezgahlarında, kural olarak, cihazın ilgilendiği tüm bilgiler ikili alfabenin kelimeleri şeklinde kodlanır.

Karakter (metin) bilgilerinin kodlanması.

Metnin tek tek karakterleri üzerinde gerçekleştirilen ana işlem, karakter karşılaştırmadır.

Karakterleri karşılaştırırken, en önemli yönler, her karakter için kodun benzersizliği ve bu kodun uzunluğudur ve kodlama ilkesinin seçimi pratik olarak önemsizdir.

Metinleri kodlamak için çeşitli dönüştürme tabloları kullanılır. Aynı metin kodlanırken ve deşifre edilirken aynı tablonun kullanılması önemlidir.

Dönüştürme tablosu - karakterin ikili koduna dönüştürüldüğü ve bunun tersi şekilde bir şekilde sıralanmış kodlanmış karakterlerin bir listesini içeren bir tablo.

En popüler dönüştürme tabloları: DKOI-8, ASCII, CP1251, Unicode.

Tarihsel olarak, karakter kodlaması için kod uzunluğu olarak 8 bit veya 1 bayt seçilmiştir. Bu nedenle, genellikle bir bilgisayarda depolanan metnin bir karakteri, bir bayt belleğe karşılık gelir.

Kod uzunluğu 8 bit olan 0 ve 1'in 28 = 256 farklı kombinasyonu olabilir, bu nedenle, bir kayıt tablosu kullanılarak 256'dan fazla karakter kodlanamaz. 2 bayt (16 bit) kod uzunluğu ile 65536 karakter kodlanabilir.

Sayısal bilgilerin kodlanması.

Sayısal ve metinsel bilgilerin kodlanmasındaki benzerlik şu şekildedir: Bu tür verileri karşılaştırabilmek için farklı sayıların (ve farklı karakterlerin) farklı bir kodu olmalıdır. Sayısal veriler ile sembolik veriler arasındaki temel fark, karşılaştırma işlemine ek olarak, sayılar üzerinde çeşitli matematiksel işlemlerin yapılmasıdır: toplama, çarpma, kök çıkarma, logaritma hesaplama vb. Bu işlemleri matematikte gerçekleştirme kuralları konumsal sayı sisteminde temsil edilen sayılar için ayrıntılı olarak geliştirilmiştir.

Bir bilgisayarda sayıları temsil eden temel sayı sistemi, ikili konumsal sayı sistemidir.

Metin bilgilerinin kodlanması

Şu anda, bir bilgisayar kullanan çoğu kullanıcı, karakterlerden oluşan metinsel bilgileri işler: harfler, sayılar, noktalama işaretleri vb. Kaç karaktere ve kaç bite ihtiyacımız olduğunu hesaplayalım.

10 rakam, 12 noktalama işareti, 15 aritmetik sembol, Rus ve Latin alfabesinin harfleri, TOPLAM: 8 bit bilgiye karşılık gelen 155 karakter.

Bilgi ölçü birimleri.

1 bayt = 8 bit

1 KB = 1024 bayt

1 MB = 1024 KB

1 GB = 1024 MB

1 TB = 1024 GB

Kodlamanın özü, her karaktere 00000000 ile 11111111 arasında bir ikili kod veya 0 ile 255 arasında karşılık gelen ondalık kod atanmasıdır.

Şu anda Rus harflerini kodlamak için beş farklı kod tablosunun kullanıldığı (KOI - 8, СР1251, СР866, Mac, ISO) ve bir tablo kullanılarak kodlanan metinlerin diğerinde doğru şekilde görüntülenmeyeceğini unutmamak gerekir.

Ana karakter kodlama ekranı ASCII kodudur - Bilgi Değişimi için Amerikan Standart Kodu - karakterlerin onaltılık olarak kodlandığı 16'ya 16'lık bir tablo olan bilgi alışverişi için Amerikan standart kodudur.

Grafik bilgilerinin kodlanması.

Bir grafik görüntüyü kodlamanın önemli bir adımı, onun ayrık elemanlara bölünmesidir (örnekleme).

Bir bilgisayar kullanarak depolanması ve işlenmesi için grafikleri temsil etmenin ana yolları, raster ve vektör görüntülerdir.

Bir vektör görüntüsü, temel geometrik şekillerden (çoğunlukla segmentler ve yaylar) oluşan bir grafik nesnedir. Bu temel bölümlerin konumu, noktaların koordinatları ve yarıçap değeri ile belirlenir. Her satır için, çizgi türü (düz, noktalı, kesik çizgili), kalınlık ve renk için ikili kodlar belirtilir.

Bir raster görüntü, matris ilkesine göre görüntünün ayrıklaştırılmasının bir sonucu olarak elde edilen bir noktalar (pikseller) topluluğudur.

Grafik görüntüleri kodlamanın matris ilkesi, görüntünün belirli sayıda satır ve sütuna bölünmesidir. Daha sonra elde edilen ızgaranın her bir elemanı seçilen kurala göre kodlanır.

Piksel (resim öğesi - resim öğesi) - rengi ve parlaklığı görüntünün geri kalanından bağımsız olarak ayarlanabilen minimum görüntü birimi.

Matris ilkesine uygun olarak, yazıcıya çıktısı alınan, ekranda görüntülenen ve bir tarayıcı kullanılarak elde edilen görüntüler oluşturulur.

Görüntü kalitesi daha yüksek olacaktır, pikseller "yoğun" ise, yani cihazın çözünürlüğü ne kadar yüksek olursa ve her birinin rengi o kadar doğru kodlanır.

Siyah beyaz bir görüntü için her pikselin renk kodu bir bit ile verilir.

Resim renkliyse, her nokta için renginin ikili kodu belirlenir.

Renkler de ikili kodda kodlandığından, örneğin 16 renkli bir çizim kullanmak istiyorsanız, her pikseli kodlamak için 4 bit (16=24) gerekir ve 16 bit kullanmak mümkünse ( 2 bayt) bir rengi bir piksel kodlamak için, ardından 216 = 65536 farklı renk iletebilirsiniz. Bir noktanın rengini kodlamak için üç bayt (24 bit) kullanmak, 16777216 (veya yaklaşık 17 milyon) farklı renk tonunu yansıtmanıza olanak tanır - sözde "gerçek renk" modu (Gerçek Renk). Bunların şu anda kullanıldığını, ancak modern bilgisayarların sınırlayıcı özelliklerinden uzak olduğunu unutmayın.

Ses kodlaması.

Fizik dersinden, sesin hava titreşimleri olduğunu biliyorsunuz. Doğası gereği ses sürekli bir sinyaldir. Sesi elektrik sinyaline dönüştürürsek (örneğin bir mikrofon kullanarak), zamanla düzgün bir şekilde değişen bir voltaj görürüz.

Bilgisayar işleme için, bir analog sinyal bir şekilde ikili sayılar dizisine dönüştürülmeli ve bunun için örneklenmeli ve sayısallaştırılmalıdır.

Şunları yapabilirsiniz: sinyal genliğini düzenli aralıklarla ölçün ve elde edilen sayısal değerleri bilgisayarın belleğine yazın.

Grafik bilgisi bir çizim, çizim, fotoğraf, kitaptaki bir resim, TV ekranındaki veya sinemadaki görüntüler vb. Olarak anlaşılabilir. Bir TV'deki bir görüntü örneğinde grafik bilgilerini kodlama ilkelerini ele alalım. ekran. Bu görüntü yatay çizgilerden oluşur - her biri sırayla görüntünün en küçük temel birimlerinden oluşan çizgiler - yaygın olarak adlandırılan noktalardan oluşur. piksel (picsel - PICture "S ELEMENT - resmin öğesi). Görüntünün tüm temel birimleri dizisine denir raster .

Görüntünün netlik derecesi, tüm ekrandaki satır sayısına ve satır başına nokta sayısını temsil eden nokta sayısına bağlıdır. çözüm ekran veya sadece izin . Ne kadar çok çizgi ve nokta olursa, görüntü o kadar keskin ve iyi olur.

Günümüz plazma ve LCD TV'lerinin çözünürlük rakamlarına bakarsak, en yaygın çözünürlüklerin 640x480 (4:3 en boy oranına sahip LCD TV'ler); 852×480 (en-boy oranı 16:9 olan plazma panelleri), 1024×768 (LCD ve plazma hem 4:3 hem de 16:9); 1366×768 (HD'ye Hazır); 1920×1080 (Full HD) piksel. 800x600 veya 1024x1024 piksel gibi, ancak nadiren başka çözünürlük değerleri vardır.

640x480 gibi bir çözünürlük ataması, her biri 640 pikselden oluşan 480 yatay çizginin kullanıldığı anlamına gelir. Böylece ekrandaki görüntü 640·480=307200 piksellik bir dizidir.

Görüntüler tek renkli veya renkli olabilir.

tek renkli görüntü herhangi iki zıt renkten oluşur - siyah ve beyaz, yeşil ve beyaz, kahverengi ve beyaz, vb. Tartışmayı kolaylaştırmak için, renklerden birinin siyah ve ikincisinin beyaz olduğunu varsayacağız. Daha sonra görüntünün her pikseli siyah veya beyaz olabilir. İkili kodu “0” siyaha ve “1” kodunu beyaza atayarak (veya tam tersi), monokrom bir görüntünün 1 piksel durumunu 1 bit olarak kodlayabiliriz. Bununla birlikte, ortaya çıkan görüntü aşırı kontrastlı olacaktır.

Oldukça gerçekçi monokrom görüntüler veren, 1 pikselin durumunu 1 bayt kullanarak kodlamak, 256 farklı gri tonunu tamamen beyazdan tamamen siyaha aktarmanıza izin veren günümüzde genel olarak kabul edilmektedir. Bu durumda, 640x480 piksellik tüm taramayı aktarmak için 307200 bayt gerekir.

renkli görüntüçeşitli modeller bazında oluşturulabilir. En yaygın renk modelleri:

· RGB en çok bilgisayar bilimlerinde kullanılır;


· CMYK - basımcılıkta ana renk modeli;

· televizyonda, PAL standardı için YUV renk modeli, SÉCAM için YDbDr modeli ve NTSC için YIQ modeli kullanılır;

· XYZ referans modeli, insan gözünün özelliklerinin ölçümlerine dayanmaktadır.

RGB modeli(Kırmızı, Yeşil, Mavi - kırmızı, yeşil, mavi kelimelerinden) bir görüntüyü monitör ekranında görüntüleme ilkelerine en doğru şekilde uyar - üç sayı, belirli bir noktada kırmızı, yeşil ve mavi fosfor taneciklerinin parlaklığını ayarlar ekranda. Bu nedenle, bu model en yaygın olarak bilgisayar grafikleri alanında kullanılır ve görüntüleri bir monitör ekranında görüntülemeye odaklanır.

RGB modeli, insan gözünün tüm renkleri üç ana rengin toplamı olarak algılamasına dayanır. kırmızı , Yeşil ve Mavi (şek.4.1). Üç rengin bir araya getirilmesiyle bir renk oluşturulduğundan, bu desene genellikle katkı(özetliyor).

Örneğin, beyaz bir renk ayarlamak için, her üç bileşen için maksimum parlaklık değerlerini belirtmeli ve siyah olanı ayarlamak için, rengi istenen noktaya ayarlayan tüm kaynakları (örneğin, fosfor noktaları) tamamen söndürmelisiniz. görüntü, onlar için sıfır parlaklık belirtin.

Renklerin her biri 1 bayt kullanılarak kodlanırsa (her bileşenin parlaklığı 0'dan 255'e kadar sayılarla verilir), gerçekçi bir monokrom görüntü için alışılmış olduğu gibi, ana renklerin her birinin 256 tonunu iletmek mümkün olacaktır. Ve toplamda, bu durumda, insan gözünün gerçek hassasiyetine yeterince yakın olan 256 256 256 = 16 777 216 farklı renk iletilir. Bu nedenle, bu renk kodlama şeması ile 1 piksel görüntü 3 bayt veya 24 bit bellek gerektirir. Renkli grafikleri temsil etmenin bu yolu mod olarak adlandırılır. doğru renk (gerçek renk - gerçek renk) veya tam renk modu .

Her pikselin üç değil, altı (her renk bileşeni için 16 bit) veya hatta sekiz bayt ile tanımlandığı görüntüler elde etmenizi sağlayan profesyonel cihazlar (örneğin tarayıcılar) vardır. Bu modlar, gölgelerin en iyi şekilde yeniden üretilmesi ve en önemlisi görüntü noktalarının parlaklığı için kullanılır. Bu, örneğin akşam veya şafak manzaraları gibi teknik olarak karmaşık sahnelerin görüntülerinin en güvenilir şekilde çoğaltılmasını sağlar.

Pirinç. 4.1. Küp olarak temsil edilen RGB renk modeli

Örnek 4.7. Win32'de renkleri temsil etmek için standart tür RENKLİ'dir. RGB'de bir renk tanımlamak için formda 4 bayt kullanılır:

BB, GG, RR - sırasıyla rengin mavi, yeşil ve kırmızı bileşenlerinin yoğunluğunun değeri. Maksimum değerleri 0xFF'dir.

Ardından COLORREF türünde bir değişkeni aşağıdaki gibi tanımlayabilirsiniz:

RENKLİ C=(b,g,r);

b, g ve r- belirlenen renk C'nin sırasıyla mavi, yeşil ve kırmızı bileşenlerinin yoğunluğu (0 ila 255 aralığında). Yani, parlak kırmızı renk (255.0.0), parlak mor - (255.0.255) olarak tanımlanabilir. ), siyah - (0,0,0) ve beyaz - (255,255,255).

Tam renkli mod, çok fazla bellek gerektirir. Bu nedenle, bellek için, rengi biraz daha kötü ileten, ancak çok daha az bellek gerektiren çeşitli modlar ve grafik formatları geliştirilmektedir. Özellikle, 1 pikselin rengini iletmek için 16 bitin kullanıldığı ve bu nedenle 65.535 renk tonunun iletilebildiği Yüksek Renk modundan (yüksek renk - zengin renk) ve ayrıca indeks modunun yanı sıra belirtilebilir. içinde kullanılan renk tonlarının belirli bir resim tablosu için önceden oluşturulmuş bir temele dayanmaktadır. Daha sonra sadece 1 bayt bellek alan indeks numarası kullanılarak bu tablodan istenilen piksel rengi seçilir. Bilgisayar belleğine bir görüntü yazarken, tek tek noktaların rengine ek olarak, birçok ek bilgiyi kaydetmek gerekir - resmin boyutu, çözünürlüğü, noktaların parlaklığı vb. Tüm bilgileri kodlamak için özel bir yöntem bilgisayar belleğine bir görüntü yazarken gerekli olan bir grafik biçimi oluşturur. Görüntüyü oluşturan her bir pikselin renginin aktarımına dayalı grafik bilgi kodlama biçimleri, raster veya BMP (Bit Map - bitmap) biçimleri olarak sınıflandırılır.

CMYK modeli(Cyan, Macenta, Sarı, siyah) Standart proses baskı için öncelikle baskı endüstrisinde kullanılan eksiltici bir renk şeması. CMYK şeması (Şekil 4.2) genellikle nispeten küçük bir renk gamına sahiptir.

Pirinç. 4.2. CMYK'de eksiltici sentez şeması

Rusça'da bu renkler genellikle şöyle adlandırılır: camgöbeği, macenta, sarı . Böyle bir şemadaki renk, yalnızca boyaların spektral özelliklerine ve uygulama yöntemine değil, aynı zamanda miktarlarına, kağıt özelliklerine ve diğer faktörlere de bağlıdır. Örneğin kuşe ve kuşe olmayan kağıtlar için Amerikan, Avrupa ve Japon standartları vardır.

Teoride siyah, macenta, camgöbeği ve sarının eşit oranlarda karıştırılmasıyla elde edilebilmesine rağmen, pratikte gerçek macenta, camgöbeği ve sarının karıştırılması daha kirli kahverengi veya kirli gri renkle sonuçlanır. Baskı işleminde siyahın saflığı ve doygunluğu son derece önemli olduğu için modele başka bir renk daha eklendi - siyah .

CMYK kısaltmasındaki ilk üç harfin açıklaması yukarıda verilmiş olup, versiyonlardan yaklaşık dördüncüsü şu şekildedir: K- İngilizce'nin kısaltması. siyah K (B'yi alsaydık, B'nin mavi olduğu RGB modeliyle karışıklık olurdu). Bu versiyona göre, baskı filmleri basıldığında, ait oldukları renk bir harf ile belirtilirdi. Başka bir versiyona göre, mektup Kİngilizce'nin kısaltmasından ortaya çıktı. sözler anahtar : terime göre İngilizce konuşulan ülkelerde anahtar plakası siyah mürekkep için baskı plakasını gösterir.

CMYK'ye eksiltici model denir çünkü bu model esas olarak renkli baskı için baskıda kullanılır ve kağıt ve diğer basılı malzemeler ışığı yansıtan yüzeyler olarak hizmet eder: belirli bir yüzeyden ne kadar ışığın (ve rengin) yansıdığını hesaplamak daha uygundur. , ne kadar emildiği yerine. Böylece, beyazdan üç ana renk olan RGB'yi çıkarırsak, üçlü bir CMY tamamlayıcı renk elde ederiz. "Çıkarılan", "çıkarılan" anlamına gelir - ana renkleri beyazdan çıkarırız.

CMYK'da bir rengi tanımlayan her sayı, o rengin renk kombinasyonunu oluşturan mürekkebinin yüzdesini temsil eder.Örneğin, koyu turuncu elde etmek için %30 camgöbeği, 45 macenta, 80 sarı ve %5 siyahı karıştırın. Bu şu şekilde gösterilebilir: (30,45,80,5). Bazen bu tanımı kullanırlar: C30M45Y80K5.

Kontrol soruları ve görevleri

1. Veri formatı nedir?

2. Bilgisayarlarda sayısal bilgiler nasıl kodlanır?

3. Bir tamsayının temsil aralığı, saklama biçimiyle nasıl ilişkilidir.

4. Doğrudan, ters ve ek kodlarda pozitif sayıların görüntülenmesinde herhangi bir farklılık var mı?

5. -78 sayısını ileri, geri ve ikinin tümleyen kodlarını bir bayt formatında ifade edin.

6. Mantis kapasitesi ile ilgili gerçek bir sayının doğruluğu ve gösterim aralığı nasıldır?

7. Gerçek bir sayının temsilindeki sıra neden kaydırılır?

8. Normalleştirilmiş bir gerçek sayıyı temsil ederken mantisin ilk basamağı neden saklanmıyor?

9. 34.256 sayısını tek reel sayı formatında yazınız.

10. Bilgisayarlarda metin bilgisi nasıl kodlanır?

11. Kod tabloları ne için kullanılır? Hangi kod tablolarını biliyorsunuz?

12. Temel bir ASCII tablosu ile genişletilmiş bir tablo arasındaki fark nedir?

13. Metinsel bilgileri Unicode formatında sunmanın avantajları nelerdir?

14. Terimleri tanımlayın piksel, raster, çözünürlük .

15. Bilgisayar monitör ekranındaki bir görüntüyü 800×600 çözünürlükte 256 renkte kodlamak için kaç bayt belleğe ihtiyaç vardır?

16. Hangi renkli görüntüleme modellerini biliyorsunuz?

17. RGB ve CMYK modellerinde hangi renkler birincil kabul edilir?


5. Mantık cebirinin temel kavramları

a) b)

Şekil 6.3 - Raster çizimi

a) raster; b) model modelleme

Bitmap, kare piksellerden oluşan bir koleksiyondur. Meydanın boyutu belirlenir çözüm. Çözünürlük, bir görüntünün birim uzunluğundaki piksel sayısıdır. Çözünürlük inç başına piksel cinsinden ölçülür. ppi – inç başına piksel. Örneğin, 254 ppi çözünürlük, inç başına 254 piksel (25,4 mm) olduğu anlamına gelir, bu nedenle her pikselin boyutu 0,1 ∙ 0,1 mm'dir. Çözünürlük ne kadar yüksek olursa, desen o kadar doğru (daha net) modellenir.

6.2 Renk kodlaması

Her piksel bir renkle kodlanmıştır. Örneğin, siyah beyaz bir çizim için beyaz 1, siyah 0'dır. Daha sonra şekil 6.3, 4'lü bir matrisle kodlanabilir. 9, kodlarla doldurulmuş ilk üç satırı aşağıda gösterilmiştir:

Peki ya çizim renkliyse? Örneğin, 4 renk kullanan bir bayrak çizimi - siyah, beyaz, kırmızı, mavi (Şekil 6.4, a). Ekli renkli bir çizimdir.

Mavi
kırmızı

Şekil 6.4 - Bir renkli bitmap'in kodlanması;

a) raster çizimi; b) desen kodlama matrisi

Dört renk seçeneğinden birini kodlamak 2 bit alır, bu nedenle her rengin kodu (ve her pikselin kodu) iki bitten oluşacaktır. 00 siyah, 01 kırmızı, 10 mavi ve 11 beyaz olsun. Ardından bir kod tablosu elde ederiz (Şekil 6.4, b).

6.2.1 Ekran renk kodlaması

inanılır ki, herhangi yayılan renk, farklı parlaklıkta yalnızca üç ışık huzmesi (kırmızı, yeşil ve mavi) kullanılarak simüle edilebilir. Sonuç olarak, herhangi bir renk ("beyaz" dahil) yaklaşık olarak üç bileşene ayrılır - kırmızı, yeşil ve mavi. Bu bileşenlerin parlaklığını değiştirerek istediğiniz rengi yapabilirsiniz. Bu renk modeli, İngilizce kelimelerin ilk harflerinden sonra RGB olarak adlandırılmıştır. kırmızı- Kırmızı, Yeşil- yeşil ve Mavi- mavi (Şekil 6.5, a). Renkli çizim ekte verilmiştir.



RGB modelinde, her bileşenin parlaklığı çoğunlukla 0 ile 255 arasında bir tam sayı olarak kodlanır. Bu durumda, renk kodu, tek tek bileşenlerin parlaklığı olan üçlü bir sayıdır (R, G, B). Renk (0,0,0) siyah ve (255,255,255) beyazdır. Tüm bileşenler eşit parlaklığa sahipse, siyahtan beyaza gri tonları elde edilir. Örneğin, (75,75,75) koyu gri ve (175.175,175) açık gridir.

Açık kırmızı (pembe) bir renk elde etmek için kırmızıda (255,0,0) yeşil ve mavi renklerin parlaklığını eşit olarak artırmanız gerekir, örneğin (255, 155, 155) pembedir. Bu, MSWord editöründe kontrol edilebilir, araç - metin rengi - diğer renkler... - spektrum(Şekil 6.5, b).

a) b)


Şekil 6.5 - RGB renk modeli;

a) RGB modeli; b) MSWord'de metin rengi aracı

Bazı renk kodları aşağıdaki Tablo 6.1'de gösterilmiştir.

Tablo 6.1 - Renk kodları

Üç rengin her biri için toplamda 256 parlaklık seçeneği vardır. Bu, bir insan için fazlasıyla yeterli olan 256 3 = 16.777.216 tonu (16 milyondan fazla) kodlamayı mümkün kılar. Çünkü
256 = 2 8 , üç bileşenin her biri bellekte 8 bit veya bir bayt kaplar ve bazı renklerle ilgili tüm bilgiler 24 bittir (veya üç bayt). Bu değer denir renk derinliği.



Renk derinliği bir pikselin rengini kodlamak için kullanılan bit sayısıdır.

Her piksel 1 bitten 3 bayta kadar video belleğine ayrılmıştır ( görüntü video belleğinde oluşturulur). Örneğin:

Tek renkli mod, 2 renk (siyah ve beyaz) - 1 bit (Şekil 6.3, b).

Renk modu, 8 renk - 3 bit. kırmızı=0; 1. Yeşil=0; 1. Mavi = 0; 1. RGB= 2 3 = 8.

Renk modu, 16 renk - 4 bit; Bence = 0; 1 - yoğunluk (parlak, loş); i RGB = 2∙2 3 = 2 4 = 16 (tablo 6.2).

Renk modu, 256 renk - 8 bit; Bence = 00000 ,…, 11111 = = 2 5 = 32 yoğunluk derecesi; Bence RGB = 2 5 * 2 3 = 2 8 = 256.

Veya 2 yoğunluk derecesi ve 2 RGB rengi
Bence 2 R 2 G 2 B 2 \u003d 4 * 4 * 4 * 4 \u003d 2 8 \u003d 256 (tablo 6.3).

Renk modu, 16 milyon renk - 3 bayt = 24 bit
(Şekil 6.5, b).

Tablo 6.2 - 16 renk oluşumu için kodlar

Renk ben RGB
Siyah siyah)
Mavi Mavi)
Yeşil Yeşil)
Camgöbeği (mavi-yeşil)
Kıpkırmızı)
macenta (mor)
kahverengi (kahverengi)
Açık Gri (açık gri)
Koyu Gri (koyu gri)
Açık Mavi (parlak mavi)
Açık Yeşil (parlak yeşil)
Açık Camgöbeği (turkuaz)
Açık Kırmızı (parlak kırmızı)
Açık Macenta (mor)
Sarı (sarı)
Beyaz beyaz)

Tablo 6.3 - 256 renk oluşumu için kodlar

Bence r G B
∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙

24 bit renk kodlaması genellikle mod olarak adlandırılır. doğru renk(İngilizce) doğru renk- doğru renk). Resmin boyutunu bu kodlamayla bayt cinsinden hesaplamak için, toplam piksel sayısını belirlemeniz (genişlik ve yüksekliği çarpmanız) ve her pikselin rengi üç bayt olarak kodlandığından sonucu 3 ile çarpmanız gerekir. Örneğin, gerçek renk modunda kodlanmış 20x30 piksellik bir görüntü, 20x30x3 = 1800 bayt yer kaplar.

Gerçek renk moduna ek olarak, 16 bit kodlama da kullanılır (İng. yüksek renk- “yüksek” renk), kırmızı ve mavi bileşenlere beş bit ve insan gözünün daha duyarlı olduğu yeşile altı bit atandığında (toplam 16 bit). Yüksek Renk modunda 2 16 = 65536 farklı renk kodlanabilir. Cep telefonlarında 12 bit renk kodlaması (bileşen başına 4 bit, 2 12 = 4096 renk).

Renk derinliği ile üretilen renk sayısı arasındaki ilişki Tablo 6.4'te gösterilebilir.

Tablo 6.4 - Renk derinliği ve renk sayısı

Genel olarak, ne kadar az renk kullanılırsa, renkli görüntü o kadar fazla bozulur. Bu nedenle, rengi kodlarken, örneklemenin neden olduğu kayıplara "eklenen" kaçınılmaz bir bilgi kaybı da vardır. Ayrıklaştırma, desen bir dizi kare piksel ile değiştirildiğinde meydana gelir. Ancak kullanılan renk sayısı arttıkça dosya boyutu da aynı zamanda büyür. Örneğin, modda doğru renk dosya, dosyadakinden iki kat daha büyük olacaktır.
12 bit kodlama

Çok sık (örneğin, diyagramlarda, diyagramlarda ve çizimlerde), görüntüdeki renk sayısı azdır (256'dan fazla değil). Bu durumda uygula palet kodlama.

Renk paleti RGB modelinde bileşen olarak belirtilen her rengin sayısal bir koda atandığı bir tablodur.

palet boyutu paletin renklerini gösteren bayt sayısıdır.

Örneğin siyah beyaz bir palet, sadece 2 renk (Şekil 6.3):

ü siyah: RGB kodu (0,0,0); ikili kod 0 2 ;

ü beyaz: RGB kodu (255,255,255); ikili kod 1 2 .

Burada palet boyutu 6 bayttır.

Bayrak resmi kodlaması, dört renk (Şekil 6.4):

ü siyah: RGB kodu (0,0,0); ikili kod 00 2 ;

ü kırmızı: RGB kodu (255,0,0); ikili kod 01 2 ;

ü mavi: RGB kodu (0,0,255); ikili kod 10 2 ;

ü beyaz: RGB kodu (255,255,255); ikili kod 11 2 .

Burada palet boyutu 12 bayttır.

Aşağıda, bir paletle kodlamanın bazı varyantlarına ilişkin veriler bulunmaktadır (Tablo 6.5).

Tablo 6.5 - Paletli kodlama seçenekleri

Monitör ekranının bilinen özellikleri (ekran çözünürlüğü ve piksel renk sayısı) göz önüne alındığında, yüksek kaliteli bir görüntü oluşturmak için minimum video belleği miktarını hesaplayabilirsiniz (Tablo 6.6).

Tablo 6.6 - Video belleği miktarı

6.2.2 Kağıt üzerinde renk kodlaması

RGB kodlaması, monitör veya dizüstü bilgisayar ekranı gibi bazı aygıtlardan yayılan rengi en iyi şekilde tanımlar. Kağıda basılmış bir görsele baktığımızda ise durum tamamen farklıdır. Göze giren kaynağın doğrudan ışınlarını değil, yüzeyden yansıyan ışınlarını görüyoruz. Tüm görünür aralıkta dalgalar içeren bir kaynaktan (güneş, bir ampul) gelen "beyaz ışık", boyanın uygulandığı kağıda düşer. Boya, ışınların bir kısmını emer (enerjileri kağıdı ısıtmak için harcanır) ve kalan yansıyan renkler göze düşer, gördüğümüz renk budur.

Örneğin, boya kırmızı ışınları emerse, yalnızca mavi ve yeşil olanlar yansıtılır - mavi görürüz. Bu anlamda kırmızı ve mavi renkler tıpkı yeşil-mor ve mavi-sarı ikilisi gibi birbirini tamamlar. Gerçekten de, yeşili beyazdan “çıkarırsanız” mor, maviyi “çıkarırsanız” sarı alırsınız.

Renk eşanlamlılarına dikkat edin: menekşe = macenta.

Gelen ve yansıyan renklerin oranları aşağıda gösterilmiştir (Tablo 6.7).

Tablo 6.7 - Gelen ve yansıyan renklerin oranları

Bir renk modeli oluşturmak için üç ek renk - mavi, mor ve sarı - kullanılır. CMY(İngilizce) camgöbeği- Mavi, macenta- Menekşe, Sarı- sarı), yazdırmak için kullanılır (Şekil 6.6, b). Böylece RGB ve CMY renk modelleri tersine çevrilebilir (Şekil 6.7). Renkli çizim uygulamada gösterilmektedir.

Şekil 6.6 - Renkli modeller;

a) RGB modeli (monitör için); b) CMY modeli (yazıcı için)

Şekil 6.7 - Tersinir renkli modeller

C=M=Y=0 değerleri beyaz kağıt üzerinde olduğunu gösterir.
boya uygulanmaz, bu nedenle tüm ışınlar yansıtılır, beyazdır.

Mavi, mor ve sarı boyalar uygulanırken teorik olarak siyah elde edilmelidir (Şekil 6.6, b), tüm ışınlar emilir. Ancak pratikte renkler mükemmel değildir, bu nedenle siyah yerine kirli bir kahverengi elde edilir. Ek olarak, siyah alanları yazdırırken, mürekkebin üç bölümünü tek bir yere “dökmeniz” gerekir. Ayrıca, genellikle siyah metnin genellikle yazıcılarda yazdırıldığı ve renkli mürekkeplerin siyah olanlardan çok daha pahalı olduğu unutulmamalıdır.

Bu sorunu çözmek için boya setine siyah eklenir, buna sözde anahtar renk (İngilizce) Anahtar rengi), bu nedenle ortaya çıkan model gösterilir CMYK.

RGB ve CMY (CMYK) renk modellerine ek olarak, başkaları da var. Bunlardan en ilginç olanı modeldir. HSB(İngilizce Ton - ton, gölge; Doygunluk - doygunluk, Parlaklık - parlaklık), bir kişinin doğal algısına en yakın olanıdır. Ton, örneğin mavi, yeşil, sarıdır. Doygunluk, bir renk tonunun saflığıdır, doygunluğu sıfıra indirgemek gri ile sonuçlanır. Parlaklık, bir rengin ne kadar açık veya koyu olduğunu belirler. Parlaklık sıfıra düşürüldüğünde herhangi bir renk siyaha döner.

6.3 Bitmap kodlamanın özellikleri

Raster kodlama ile resim piksellere bölünür (ayrıklaştırılır). Her piksel için, çoğunlukla bir RGB kodu kullanılarak kodlanan bir renk belirlenir.

raster kodlama var itibar:

ü evrensel yöntem (herhangi bir görüntü kodlanabilir);

ü Fotoğraf gibi net sınırları olmayan bulanık görüntüleri kodlamak ve işlemek için tek yöntem;

ve sınırlamalar:

ü ayrıklaştırma sırasında her zaman bir bilgi kaybı vardır;

ü görüntüyü yeniden boyutlandırırken, resimdeki nesnelerin rengi ve şekli bozulur, çünkü boyutu arttırırken, eksik pikselleri bir şekilde geri yüklemek ve küçülürken birkaç pikseli bir tane ile değiştirmek gerekir;

ü dosya boyutu görüntünün karmaşıklığına bağlı değildir, yalnızca çözünürlük ve renk derinliği ile belirlenir; kural olarak, raster çizimlerin büyük bir hacmi vardır.

Raster çizimler için birçok farklı format vardır. En yaygın dosya adı uzantıları şunlardır:

.bmp(tur. bitmap - bitmap) - Windows işletim sisteminde standart bir biçim; paletli ve gerçek renkli kodlamayı destekler;

.jpg veya .jpeg(İng. Ortak Fotoğraf Uzmanları Grubu - uzman fotoğrafçılardan oluşan ortak bir grup) - fotoğrafları kodlamak için özel olarak tasarlanmış bir format; yalnızca gerçek renk modunu destekler; dosya boyutunu küçültmek için, görüntünün biraz bozuk olduğu güçlü sıkıştırma kullanılır, bu nedenle net sınırları olan çizimler için kullanılması önerilmez;

.gif(İng. Graphics Interchange Format - görüntü alışverişi için bir format) - sadece bir paletle kodlamayı destekleyen bir format (2 ila 256 renk); önceki biçimlerden farklı olarak, resmin bölümleri saydam olabilir; modern versiyonda, hareketli görüntüleri saklayabilirsiniz; kayıpsız sıkıştırma kullanılır, yani sıkıştırma sırasında görüntü bozulmaz;

.png(İngilizce Taşınabilir Ağ Grafikleri - taşınabilir ağ görüntüleri) - hem gerçek renk modunu hem de paletli kodlamayı destekleyen bir biçim; görüntünün parçaları saydam ve hatta yarı saydam olabilir (dördüncü baytın saydamlığı belirttiği 32 bit RGBA kodlaması); görüntü bozulma olmadan sıkıştırılır; animasyon desteklenmiyor.

6.4 Dosya kodlaması hakkında bir not

Daha önce, her türlü bilginin bilgisayar belleğinde ikili kodlar, yani sıfırlar ve birler zincirleri şeklinde depolandığı söylendi. Böyle bir zincir aldıktan sonra, bunun metin, resim, ses veya video olduğunu söylemek kesinlikle imkansızdır. Örneğin, 11001000 2 kodu, gerçek renk modunda bir pikselin renk bileşenlerinden biri olan 200 sayısını, "I" harfini, 256 renk paleti olan bir resim için paletteki renk numarasını, renk 8 piksellik siyah beyaz bir resim, vb. Bilgisayar ikili verileri nasıl anlar? Her şeyden önce, dosya adı uzantısına odaklanmanız gerekir. Örneğin, çoğu zaman .txt dosyaları metin içerirken .bmp, .gif, .jpg, .png uzantılı dosyalar resim içerir.

Ancak dosya uzantısı istediğiniz gibi değiştirilebilir. Örneğin, bir metin dosyasının .bmp uzantısına ve bir JPEG resminin .txt uzantısına sahip olmasını sağlayabilirsiniz. Bu nedenle, özel biçimlerdeki tüm dosyaların başında (düz metin, .txt hariç), dosya türünü ve özelliklerini "tanıyabileceğiniz" bir başlık yazılır. Örneğin, BMP dosyaları "BM" karakterleriyle, GIF dosyaları ise "GIF" karakterleriyle başlar. Ayrıca başlık, resmin boyutunu ve paletteki renk sayısı, sıkıştırma yöntemi vb. gibi özelliklerini belirtir. Program bu bilgiyi kullanarak dosyanın ana bölümünün kodunu çözer (şifresini çözer) ve ekranda görüntüler.

6.5 Sorular ve görevler

1. Bilgisayar teknolojisinde kullanılan çizimleri kodlamanın iki ilkesi nelerdir?

2. Çizimleri kodlamak için her duruma uygun tek bir yöntem bulmak neden mümkün değil?

3. Raster kodlama fikri nedir?
raster nedir?

4. Vektör kodlamanın arkasındaki fikir nedir? Grafik ilkel nedir?

5. Piksel nedir? Böyle bir söz nasıl ortaya çıktı?

6. Model ayrıklaştırması nedir? Neden gerekli?

7. Bir resmi ayrıştırırken ne kaybolur?

8. Çözünürlük nedir (ekran, yazıcı)? Hangi birimlerde ölçülür?

9. Renk derinliği nedir? hangi birimlerde var
ölçüldü?

10. Gerçek Renk Modu nedir?

11. Yüksek Renk modu nedir?

12. Palet kodlaması nedir? Gerçek renk modundan temel farkı nedir?

13. Raster kodlamanın avantajları ve dezavantajları nelerdir?

14. Vektör kodlamanın avantajları ve dezavantajları nelerdir?

15. Fotoğrafları hangi formatlarda kaydetmeniz önerilir?

16. Çizimleri, net sınırları olan çizimleri hangi formatlarda kaydetmeniz önerilir?

17. Bir sonraki resmin kodu nasıl yazılacak? Siyah beyaz bir bitmap, sol üstten başlayıp sağ altta biten satır satır kodlanır. Kodlandığında, 0 siyahı ve 1 beyazı belirtir.

Çözüm. Resim kodu girişi aşağıdaki gibi olacaktır:

010100 011111 101010 011101 = 010100011111101010011101 2 =

24375235 8 = 51FAD 16 .


Kullanılan kaynakların listesi

1. Andreeva E. V. Bilişimin matematiksel temelleri: ders kitabı. ödenek / E. V. Andreeva, L. L. Bosova, I. N. Falina. – M. : BİNOM. Bilgi Laboratuvarı, 2007.

2. Pospelov D. A. Ayrık eylem bilgisayarlarının aritmetik temelleri / D. A. Pospelov. - M.: Enerji, 1970.

3. Saveliev A. Ya. Dijital otomatların aritmetik ve mantıksal temelleri / A. Ya. Saveliev. - M.: Yüksek okul, 1980.

4. Pozdnyakov S.N. Ayrık matematik: ders kitabı
/ S.N. Pozdnyakov, S.V. Rybin. - M. : Akademi, 2008.

5. Hartley R. V. L. Bilgi aktarımı / R. V. L. Hartley
// Bilgi teorisi ve uygulamaları. - M. : Fizmatgiz, 1959.

6. Shannon K. İletişimin Matematiksel Teorisi. (Shannon C.E. A Mathematical Theory of Communication. Bell System Technical Journal. - 1948. - s. 379-423, 623-656).

7. Yushkevich A.P. Orta Çağ'da matematik tarihi
/ A.P. Yuşkeviç. - M. : Fizmatgiz, 1961.


24 bit renk(bir alt küme olan doğru renk ingilizce "doğru renk") bilgisayar grafiklerinde - çok sayıda renk, yarı ton ve gölge görüntülemenize izin veren bir görüntüyü temsil etme ve saklama yöntemi. RGB modelinin üç bileşeninin her biri için 256 seviye kullanılarak bir renk temsil edilir: kırmızı(R), yeşil(G) ve mavi(B), 16.777.216 (224) farklı renkle sonuçlanır.

32-bit TrueColor, yarı saydam pencereler, karartma menüleri ve gölgeler gibi yarı saydam görüntülerin görüntülenmesi için piksel saydamlığının derecesini ayarlayan bir alfa kanalı depolayabilir. Bazı video bağdaştırıcıları, donanımdaki alfa kanalını işleyebilir.

Bir sinyali sayısallaştırırken bit sayısı

Bir sinyali sayısallaştırırken (bir tarayıcı veya dijital kamera tarafından) bit sayısını ve onu ekranda saklarken ve görüntülerken bit sayısını karıştırmamalısınız.

Kanal başına 256 seviyeli renk, gama düzeltmeli bir biçimde saklanırken, kamera piksellerinden doğrusal bir sinyal sayısallaştırılır. Genellikle ham kamera verilerinde Raw biçiminde depolanır.

"TrueColor" makalesi hakkında bir inceleme yazın

notlar

TrueColor'ı karakterize eden bir alıntı

Kontes ziyaretlerden o kadar bıkmıştı ki, başka kimsenin kabul edilmemesini emretti ve kapıcıya sadece tebriklerle gelen herkesi mutlaka yemek yemeye çağırması emredildi. Kontes, Petersburg'dan geldiğinden beri iyi görmediği çocukluk arkadaşı Prenses Anna Mihaylovna ile yüz yüze konuşmak istedi. Anna Mihaylovna, ağlamaklı ve hoş yüzüyle kontesin sandalyesine yaklaştı.
Anna Mihaylovna, "Size karşı tamamen açık konuşacağım," dedi. "Çoğumuz kalmadı, eski dostlar!" Bu yüzden arkadaşlığına değer veriyorum.
Anna Mihaylovna Vera'ya baktı ve durdu. Kontes arkadaşıyla el sıkıştı.
"Vera," dedi kontes, sevilmediği belli olan en büyük kızına dönerek. Nasıl haberin yok? Kendinizi burada yokmuş gibi hissetmiyor musunuz? Kız kardeşlerine git, ya da...
Güzel Vera küçümseyici bir şekilde gülümsedi, görünüşe göre en ufak bir hakaret hissetmiyordu.
"Anneciğim bana uzun zaman önce söyleseydin, hemen giderdim" dedi ve odasına gitti.
Ancak kanepenin yanından geçerken, iki pencerede iki çiftin simetrik olarak oturduğunu fark etti. Durdu ve küçümseyici bir şekilde gülümsedi. Sonya, ilk kez yazdığı şiirleri onun için kopyalayan Nikolai'nin yanında oturuyordu. Boris ve Natasha diğer pencerede oturuyorlardı ve Vera içeri girdiğinde sustular. Sonya ve Natasha, Vera'ya suçlu ve mutlu yüzlerle baktılar.
Bu aşık kızlara bakmak eğlenceli ve dokunaklıydı, ama onları görmek, açıkçası, Vera'da hoş bir duygu uyandırmadı.
"Sana kaç kere söyledim," dedi, "eşyalarımı alma, senin kendi odan var.
Mürekkebi Nikolai'den aldı.
Şimdi, şimdi, dedi kalemini ıslatarak.
Vera, "Her şeyi yanlış zamanda nasıl yapacağını biliyorsun," dedi. - Sonra oturma odasına koştular, böylece herkes senin için utandı.
Gerçeğe rağmen ya da tam olarak söylediği şey tamamen doğru olduğu için kimse ona cevap vermedi ve dördü de sadece birbirine baktı. Elinde bir hokkayla odada tereddüt etti.

Rasterler, pikseller, örnekleme, çözünürlük

Her türlü bilgi gibi, bir bilgisayardaki görüntüler de ikili diziler olarak kodlanmıştır. Her biri kendi avantajları ve dezavantajları olan temelde farklı iki kodlama yöntemi kullanılır.

Hem çizgi hem de alan sonsuz sayıda noktadan oluşur. Bu noktaların her birinin rengini kodlamamız gerekiyor. Sonsuz sayıda varsa, bunun sonsuz miktarda bellek gerektirdiği sonucuna varırız. Bu nedenle, görüntü “nokta nokta” bir şekilde kodlanamaz. Ancak, bu fikir hala kullanılabilir.

Siyah beyaz bir çizimle başlayalım. Bir eşkenar dörtgen görüntüsünün üzerine, onu karelere bölen bir ızgaranın bindirildiğini hayal edin. Böyle bir ızgaraya raster denir. Şimdi her kare için bir renk tanımlıyoruz (siyah veya beyaz). Bir parçanın siyaha ve bir parçanın beyaza boyandığı kareler için, hangi parçanın (siyah veya beyaz) daha büyük olduğuna bağlı olarak bir renk seçeceğiz.

Resim 1.

Piksel karelerinden oluşan bir raster çizimimiz var.

tanım 1

piksel(tur. piksel = resim öğesi, resim öğesi) kendi renginizi ayarlayabileceğiniz en küçük resim öğesidir. “Sıradan” çizimi karelere böldükten sonra ayrıklaştırmasını gerçekleştirdik - tek bir nesneyi ayrı öğelere böldük. Gerçekten de, tek ve bölünmez bir çizimimiz vardı - bir eşkenar dörtgen görüntüsü. Sonuç olarak, ayrı bir nesne elde ettik - bir dizi piksel.

Örnekleme sonucunda elde edilen siyah beyaz bir resmin ikili kodu aşağıdaki gibi oluşturulabilir:

  • beyaz pikselleri sıfırlarla ve siyah pikselleri birlerle değiştiririz;
  • çıkan tablonun satırlarını tek tek yazın.

örnek 1

Bunu basit bir örnekle gösterelim:

Şekil 2.

Bu resmin genişliği 8$ pikseldir, dolayısıyla tablonun her satırı 8$ bitten oluşur. Çok uzun bir sıfırlar ve birler zinciri yazmamak için, komşu bitleri (tetrad) 4$'lık bir onaltılık basamakla kodlayan onaltılık sayı sistemini kullanmak uygundur.

Figür 3

Örneğin, ilk satır için $1A_(16)$ kodunu alıyoruz:

ve tüm çizim için: $1A2642FF425A5A7E_(16)$.

Açıklama 1

Ayrıklaştırma sonucunda ne kazandığımızı ve ne kaybettiğimizi anlamak çok önemlidir. En önemlisi, çizimi ikili olarak kodlayabildik. Ancak, resim bozuktu - bir eşkenar dörtgen yerine bir dizi kare aldık. Bozulmanın nedeni, bazı karelerde orijinal görüntünün bölümlerinin farklı renklerle doldurulması ve kodlanmış görüntüde her pikselin zorunlu olarak bir rengi olmasıdır. Bu nedenle, kodlama sırasında orijinal bilgilerin bir kısmı kayboldu. Bu, örneğin resim büyütüldüğünde kendini gösterecektir - kareler artar ve resim daha da bozulur. Bilgi kaybını azaltmak için piksel boyutunu küçültmeniz, yani çözünürlüğü artırmanız gerekir.

tanım 2

İzin görüntü boyutunun inç başına piksel sayısıdır.

Çözünürlük genellikle inç başına piksel cinsinden ölçülür (İngilizce gösterimi $ppi$ = inç başına piksel kullanılır). Örneğin, 254$ $ppi$ çözünürlük, inç başına 254$ piksel (25.4$ mm) olduğu anlamına gelir, bu nedenle her piksel orijinal görüntünün 0,1 × 0,1$ mm karesini "içerir". Çözünürlük ne kadar yüksek olursa, resim o kadar doğru kodlanır (daha az bilgi kaybolur), ancak aynı zamanda dosya boyutu da büyür.

Renk kodlaması

Peki ya çizim renkliyse? Bu durumda, bir pikselin rengini kodlamak için artık bir bit yeterli değildir. Örneğin, şekilde gösterilen 4$ Rus bayrağının görüntüsünde renkler siyah, mavi, kırmızı ve beyazdır. Dört seçenekten birini kodlamak için 2$ bit gereklidir, bu nedenle her rengin kodu (ve her pikselin kodu) iki bitten oluşacaktır. 00$ siyah, 01$ kırmızı, $10$ mavi ve 11$ beyaz olsun. Ardından aşağıdaki tabloyu elde ederiz:

Şekil 4

Tek sorun, ekranda görüntülerken, hangi rengin bir veya başka bir koda karşılık geldiğini bir şekilde belirlemeniz gerektiğidir. Yani renk bilgisi bir sayı (veya bir dizi sayı) olarak ifade edilmelidir.

İnsan ışığı bir dizi elektromanyetik dalga olarak algılar. Belirli bir dalga boyu belirli bir renge karşılık gelir. Örneğin, $500-565$ nm dalga boyları yeşildir. Sözde "beyaz" ışık, aslında tüm görünür aralığı kapsayan dalga boylarının bir karışımıdır.

Modern renk görme kavramına göre (Jung-Helmholtz teorisi), insan gözü üç tür hassas element içerir. Her biri tüm ışık akışını algılar, ancak ilki kırmızı bölgede, ikincisi yeşil bölgede ve üçüncüsü mavi bölgede en hassastır. Renk, her üç tip reseptörün de uyarılmasının sonucudur. Bu nedenle, herhangi bir rengin (yani, belirli bir dalga boyundaki dalgaları algılayan bir kişinin duyumları), farklı parlaklıktaki yalnızca üç ışık demeti (kırmızı, yeşil ve mavi) kullanılarak taklit edilebileceğine inanılmaktadır. Bu nedenle, herhangi bir renk yaklaşık olarak üç bileşene ayrılır - kırmızı, yeşil ve mavi. Bu bileşenlerin gücünü değiştirerek istediğiniz rengi yapabilirsiniz. Bu renk modeli, İngilizce red (red), green (green) ve blue (mavi) kelimelerinin baş harflerinden sonra RGB olarak adlandırılır.

RBG modelinde, her bileşenin (veya dedikleri gibi, her kanalın) parlaklığı çoğunlukla 0$ ile 255$ arasında bir tamsayı ile kodlanır. Bu durumda, renk kodu, tek tek kanalların parlaklığı olan üçlü sayıdır (R, G, B). Renk (0,0,0$) siyah ve (255,255,255$) beyazdır. Tüm bileşenler eşit parlaklığa sahipse, siyahtan beyaza gri tonları elde edilir.

Şekil 5

Açık kırmızı (pembe) bir renk elde etmek için yeşil ve mavi kanalların parlaklığını kırmızıda (255.0.0$) eşit olarak artırmanız gerekir, örneğin renk (255$, 150$, 150$) pembedir. Tüm kanalların parlaklığındaki tekdüze azalma koyu bir renk oluşturur, örneğin kodlu renk ($100.0.0$) koyu kırmızıdır.

Toplamda, üç rengin her biri için 256$ parlaklık seçeneği var. Bu, 256^3= 16.777.216$ gölgenin kodlanmasına izin verir, bu da bir insan için fazlasıyla yeterli. 256$ = 2^8$ olduğundan, üç bileşenin her biri bellekte 8$ bit veya 1$ bayt kaplar ve bazı renklerle ilgili tüm bilgiler 24$ bittir (veya 3$ bayt). Bu değere renk derinliği denir.

tanım 3

Renk derinliği bir pikselin rengini kodlamak için kullanılan bit sayısıdır.

$24$-bit renk kodlaması genellikle Gerçek Renk modu olarak adlandırılır. Bu kodlama ile resmin boyutunu bayt olarak hesaplamak için, toplam piksel sayısını belirlemeniz (genişlik ve yüksekliği çarpmanız) ve sonucu 3$ ile çarpmanız gerekir, çünkü her pikselin rengi üç bayta kodlanmıştır. Örneğin, truecolor modunda kodlanmış $20x30$ piksel boyutundaki bir resim, $20x30x3 = 1800$ bayt alacaktır.

Gerçek renk moduna ek olarak, kırmızı ve mavi bileşenlere 5$ bit ve insan gözünün daha fazla olduğu yeşil bileşene 6$ bit atandığında 16$-bit kodlama (Yüksek Renk) de kullanılır. duyarlı. Yüksek Renk modunda, $2^(16) = 65.536$ farklı renkler kodlanabilir. Cep telefonlarının 12$-bit renk kodlaması vardır (kanal başına 4$ bit, 4096$ renk).

palet kodlama

Genel olarak, ne kadar az renk kullanılırsa, renkli görüntü o kadar fazla bozulur. Bu nedenle, rengi kodlarken, örneklemenin neden olduğu kayıplara "eklenen" kaçınılmaz bir bilgi kaybı da vardır. Çok sık olarak (örneğin şemalarda, diyagramlarda ve çizimlerde) görüntüdeki renk sayısı azdır (256$'dan fazla değil). Bu durumda palet kodlaması kullanılır.

tanım 4

Renk paleti RGB modelinde bileşen olarak belirtilen her rengin sayısal bir koda atandığı bir tablodur.

Palet kodlaması şu şekilde yapılır:

  • $N$ renk sayısını seçin (genellikle 256$'dan fazla değil);
  • gerçek renk paletinden ($16 777 216$ renk) herhangi bir $N$ rengi seçin ve her biri için RGB modelinde bileşenleri bulun;
  • her renge $0$ ile $N–1$ arasında bir sayı (kod) atanır;
  • önce $0$ koduyla rengin RGB bileşenlerini, ardından $1$ koduyla renk bileşenlerini yazarak paleti oluşturuyoruz.

Her pikselin rengi, RGB değerleri olarak değil, paletteki bir renk numarası olarak kodlanır. Örneğin, Rus bayrağının görüntüsünü kodlarken (yukarıya bakın), 4$ renkler seçildi:

  • siyah: RGB kodu (0.0.0$); ikili kod $002$;
  • kırmızı: RGB kodu (255.0.0$); ikili kod $012$;
  • mavi: RGB kodu (0.0.255$); ikili 102$;
  • beyaz: RGB kodu (255.255.255$); ikili kod $112$.

Bu nedenle, genellikle dosyanın başında özel bir hizmet alanına yazılan palet (dosya başlığı olarak adlandırılır), dört adet üç baytlık bloktur:

Şekil 6

Her pikselin kodu sadece iki bit alır.

256$'dan fazla renk içeren paletler pratikte kullanılmamaktadır.

Raster kodlamanın avantajları ve dezavantajları

raster kodlama var itibar:

  • evrensel yöntem (herhangi bir görüntü kodlanabilir);
  • fotoğraflar gibi net sınırları olmayan bulanık görüntüleri kodlamak ve işlemek için tek yöntem.

VE sınırlamalar:

  • ayrıklaştırma yaparken, her zaman bir bilgi kaybı olur;
  • görüntüyü yeniden boyutlandırırken, resimdeki nesnelerin rengi ve şekli bozulur, çünkü boyutu arttırırken, eksik pikselleri bir şekilde geri yüklemek ve küçülürken birkaç pikseli bir tane ile değiştirmek gerekir;
  • dosya boyutu görüntünün karmaşıklığına bağlı değildir, yalnızca çözünürlük ve renk derinliği ile belirlenir.

Kural olarak, raster çizimlerin büyük bir hacmi vardır.