نوشته‌ها

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

در این قسمت، شما نحوه نوشتن یا ذخیره یک تصویر را  با استفاده از تابع ()cv2.imwrite    در OpenCV خواهید آموخت.

 نوشتن یا ذخیره تصویر در OpenCV 

 
از تابع ()cv2.imwrite  برای ذخیره یک تصویر در یک فایل مشخص شده استفاده میشود.

cv2.imwrite(filename, img[, params]) → retval

پارامتر ها

 

filename : نام  برای فایل انتخاب یکنیم 

image: تصویر  برای ذخیره شدن

تابع imwrite تصویر را در فایل مشخص شده ذخیره می کند. فرمت تصویر بر اساس فرمت نام فایل انتخاب شده است. 

 

فشرده سازی تصویر

قبل از ذخیره کردن تصویر، فشرده سازی  جهت  حذف اطلاعات تکراری، انجام میشود. نوع فایل تصویر یا رستر یا بردار است:

تصاویر رستری 

ساخته شده از پیکسل
تغییر اندازه باعث تغییر در کیفیت تصویر میشد.

فرمت های رایج: jpg، png، gif، tif، bmp

تصاویر برداری:

ساخته شده از اشیاء بردار (نه مبتنی بر پیکسل)
می تواند به هر اندازه ای تغییر کند بدون عوض کاه یا افزایش کیفیت
• فرمت های رایج: ai، eps، ps، svg، wmf، pdf

 

vector-raster

https://commons.wikimedia.org/wiki/File:Bitmap_VS_SVG.svg

 

 در پردازش تصویر، تصاویر رستری به کار میرود.

 با استفاده از این تابع imwrite  می توان فقط تصاویر  ۸ بیتی (یا ۱۶ بیت بدون امضای (CV_16U) در حالت تک کانال یا ۳ کانال ( BGR) را ذخیره کرد.( مانند PNG، JPEG 2000 و TIFF) 

امکان استفاده از این تابع برای ذخیره تصاویر PNG با کانال آلفا وجود دارد.

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

 
 
import numpy as np
import cv2
img = cv2.imread('test.png')
cv2.imshow('image',img)
k = cv2.waitKey(0)
# را فشار بدیم Escاگر
#پنجره بسته میشود
if k == 27: 
cv2.destroyAllWindows()
#اگر این حرف را فشار بدهیم تصویر با نام انتخابی ذخیره میشود.
elif k == ord('s'): 
cv2.imwrite('save.jpg',img)
cv2.destroyAllWindows()

 

🆔@image_Process
🌐https://t.me/image_Process