به نام خدا

تصویر به عنوان داده

لود کتابخانه‌های مورد استفاده

برای اجرای این نوت‌بوک باید کتابخانه ی matplotlib و numpy را نصب کنید. بدین منظور به اینترنت متصل شود و در ترمینال دستورات زیر را بنویسید:

pip install matplotlib

pip install numpy

pip install Pillow

میتوانید به جای pip از کلمه ی conda استفاده کنید. (اگر از آناکوندا استفاده میکنید.)
In [2]:
# Import matplotlib
import matplotlib.pyplot as plt

# Import numpy
import numpy as np

لود تصویر از دیسک

In [3]:
# Load the image
data = np.array(plt.imread('./image/sign.jpg'))
اگر برایتان سوال شده چرا
data = plt.imread('./image/sign.jpg')
ننوشتیم و از
np.array
استفاده شد. سوال و پاسخ زیر را ببینید:

np arrays being immutable - “assignment destination is read-only”
Since numpy version 1.16.0 ...

https://stackoverflow.com/a/54308748/4409764

نمایش تصویر

In [4]:
# Display the image
plt.imshow(data)
plt.show()

داده تصویری

نگاهی به اندازه ماتریس خوانده شده بیندازیم!
In [5]:
data.shape
Out[5]:
(2832, 4256, 3)
مقدار پیکسل یک سلول خاص
In [10]:
data[1000, 1100]
Out[10]:
array([189,  28,  43], dtype=uint8)
In [11]:
data[250, 3500]
Out[11]:
array([ 66, 112, 197], dtype=uint8)

ویرایش داده تصویری

In [13]:
data[:, :, 1] = 0
data[:, :, 2] = 0
plt.imshow(data)
plt.show()
In [14]:
# Load the image
data = np.array(plt.imread('./image/sign.jpg'))


# Set the red channel in this part of the image to 0
data[0:1000, 0:1000, 0] = 0

# Set the green channel in this part of the image to 255
data[0:1000, 0:1000, 1] = 255

# Set the blue channel in this part of the image to 0
data[0:1000, 0:1000, 2] = 0

# Visualize the result
plt.imshow(data)
plt.show()

تصاویر سطح خاکستری

تابع زیر یک تابع ساده برای تبدیل تصویر به سطح خاکستری(grayscale) است.
stackoverflow

In [16]:
def rgb2gray(rgb):
    return np.dot(rgb[...,:3], [0.299, 0.587, 0.114]).astype(int)
خواندن یک تصویر به صورت سطح خاکستری
In [17]:
img = plt.imread('./image/t-shirt.jpg')
tshirt = rgb2gray(img)
اندازه ماتریس خوانده شده
In [18]:
tshirt.shape
Out[18]:
(654, 654)
نمایش تصویر
In [19]:
plt.imshow(tshirt, cmap = plt.get_cmap('gray'))
plt.show()
مشاهده مقدار یک پیکسل خاص
In [20]:
tshirt[250, 200]
Out[20]:
151
ویرایش تصویر
In [21]:
tshirt[200:400, 300:400]=0
plt.imshow(tshirt, cmap = plt.get_cmap('gray'))
plt.show()
دوره مقدماتی یادگیری عمیق
علیرضا اخوان پور
23 و 30 آبان 1397
Class.Vision - AkhavanPour.ir - GitHub
In [ ]: