پردازش تصویر با پایتون قسمت دوازدهم

grayscale

 

Grayscale(خاکستری)

دوربین های قدیمی فقط  قادر به نمایش تصاویر مونوکروم  یا تک رنگ  بودند. درکل سنسور دوربین تنها شدت نور را ثبت میکند که شدت نور طیفی خاکستری ایجاد میکند.

ما با تصاویر خاکستری که نوعی از تصاویر مونوکروم هستند،  کار خواهیم کرد.

http://hamamatsu.magnet.fsu.edu

تصاویر خاکستری فقط دارای یک کانال رنگی(۸بیتی) در مقیاس ۰ تا ۲۵۵ هستند که نشان دهنده روشنایی آن پیکسل است، ۰ کاملا تاریک (سیاه) و ۲۵۵ کاملا روشن (سفید) است.


87

وقتی فیلتر های رنگی بر روی سنسور دوربین قرار میگیرد به ازای هر رنگ قرمز ، ابی  یا سبز ،  یک شدت  نور جدا (خاکستری) درست  میکنند که با ترکیب آنها با هم عکسهای رنگی ایجاد میشوند.

تصویر زیر مثال خیلی خوبی  از کانالهای مختلف تصویر رنگیاست، که با یکی از نرم افزار های ویرایش عکس که من از gimp استفاده کردم را ببینید.  در واقع با ترکیب کانالهای سمت راست، تصویر رنگی سمت چپ ایجاد میشود:

مثلا به رنگ سبز دقت کنید، فقط قسمتی که رنگ سبز داریم سفید وبقیه قسمتها سیاه است. کانال سبز  یک کانال ۸ بیتی که به صورت   [۰,۲۵۵,۰]:rgb مقدار دهی میشود و نشان دهنده این است که هر چه شدت نور به سمت ۲۵۵ باشد رنگ سبز بیشتر و هر چه به سمت ۰ باشد رنگ سبز کمتری داریم و در مورد کانالهای دیگر هم همین استدلال را میشه کرد.

Capture

تبدیل تصویر به مقیاس خاکستری به ما یک  آرایه  دو بعدی و تنها یک کانال که ۸ بیت باشد  میدهد. یک جورایی پردازش راحتر و سریع تر و زوم روی یک کانال خاص است.

import numpy as np
import cv2
import matplotlib.pyplot as pltimg = cv2.imread(‘test.jpg’)
gray_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
#تصویر خاکستری به عنوان آراه ای دوبعدیprint(gray_img)
[[۲۵۰ ۲۵۰ ۲۵۰ …, ۲۵۰ ۲۵۰ ۲۵۰]
[۲۵۰ ۲۵۰ ۲۵۰ …, ۲۵۰ ۲۵۰ ۲۵۰]
[۲۵۰ ۲۵۰ ۲۵۰ …, ۲۵۰ ۲۵۰ ۲۵۰]
…,
[۲۵۰ ۲۵۰ ۲۵۰ …, ۲۵۰ ۲۵۰ ۲۵۰]
[۲۵۰ ۲۵۰ ۲۵۰ …, ۲۵۰ ۲۵۰ ۲۵۰]
[۲۵۰ ۲۵۰ ۲۵۰ …, ۲۵۰ ۲۵۰ ۲۵۰]]
>>> print (gray_img.shape)
(۶۴۰, ۶۴۰)
>>> print (img.dtype)
uint8

import numpy as np

import cv2

import matplotlib.pyplot as plt

img = cv2.imread(‘test.jpg’)

gray_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

plt.imshow(cv2.cvtColor(gray_img, cv2.COLOR_GRAY2RGB))

plt.show()

grayscale
تبدیل به تصویر خاکستری

 

درباره نویسنده

مهارت ها: html,css,C#,ADO.NET,sqlserver,access,python javascript,php

نوشته های مرتبط

نظری بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *