سلام! به عنوان یک تامین کننده Pillow، اغلب در مورد چگونگی تبدیل آرایه NumPy به تصویر با استفاده از Pillow سوال می پرسم. این یک مهارت فوق العاده مفید است، به خصوص اگر به تجسم داده، پردازش تصویر، یا فقط می خواهید داده های عددی خود را به چیزی تبدیل کنید که واقعاً می توانید ببینید. بنابراین، بیایید مستقیماً غواصی کنیم و این فرآیند را گام به گام بررسی کنیم.
ابتدا اجازه دهید کمی در مورد NumPy و Pillow صحبت کنیم. NumPy یک کتابخانه قدرتمند پایتون برای کار با آرایهها و ماتریسهای چند بعدی بزرگ به همراه مجموعه بزرگی از توابع ریاضی سطح بالا برای کار بر روی این آرایهها است. از سوی دیگر، Pillow یک چنگال دوستانه از کتابخانه تصویربرداری پایتون (PIL) است که به شما امکان میدهد بسیاری از فرمتهای فایل تصویری مختلف را باز، دستکاری و ذخیره کنید.
پیش نیازها
قبل از شروع، مطمئن شوید که NumPy و Pillow را در محیط پایتون خود نصب کرده اید. می توانید با استفاده از آنها نصب کنیدپیپاگر قبلا این کار را نکرده اید:
pip install numpy pillow
فرآیند اساسی
ایده اصلی تبدیل آرایه NumPy به تصویر با Pillow، ایجاد یک Pillow استتصویرشی از آرایه NumPy. در اینجا یک مثال ساده آورده شده است:

![]()
وارد کردن numpy به عنوان np از PIL import Image # یک آرایه NumPy ساده ایجاد کنید # بیایید یک آرایه 100x100 پر از اعداد صحیح تصادفی بین 0 تا 255 arr = np.random.randint(0, 256, (100, 100), dtype8 theum Pillow to a Conrayutt ایجاد کنیم. img = Image.fromarray(arr) # ذخیره تصویر img.save('random_image.png')
در این کد ابتدا کتابخانه های لازم را وارد می کنیم. سپس یک آرایه NumPy 100x100 پر از اعداد صحیح تصادفی در محدوده 0 تا 255 ایجاد می کنیم.dtype=np.uint8مهم است زیرا Pillow انتظار دارد که مقادیر پیکسل در محدوده 0 - 255 و از نوع باشد.uint8.
پس از آن، ما ازImage.fromarray()روش ارائه شده توسط Pillow برای تبدیل آرایه NumPy به یکتصویرشی در نهایت تصویر را با استفاده از فایل PNG ذخیره می کنیمذخیره ()روش
کار با حالت های مختلف تصویر
Pillow از حالتهای مختلف تصویر مانند «L» (مقیاس خاکستری)، «RGB» (رنگی) و «RGBA» (رنگ با شفافیت) پشتیبانی میکند. بیایید ببینیم چگونه می توانیم این حالت های مختلف را هنگام تبدیل از یک آرایه NumPy مدیریت کنیم.
تصاویر در مقیاس خاکستری
برای تصاویر خاکستری، می توانیم از حالت "L" استفاده کنیم. در اینجا یک مثال است:
وارد کردن numpy به عنوان np از تصویر واردات PIL # ایجاد یک آرایه NumPy با مقیاس خاکستری 200x200 arr = np.random.randint(0, 256, (200, 200), dtype=np.uint8) # تبدیل به یک تصویر Pillow در حالت مقیاس خاکستری img( the gravescale' mode img.save('grayscale_image.png')
تصاویر رنگی (RGB)
برای ایجاد یک تصویر رنگی، به یک آرایه 3 بعدی NumPy نیاز داریم که بعد سوم نشان دهنده کانال های قرمز، سبز و آبی است.
وارد کردن numpy به عنوان np از تصویر وارد کردن PIL # ایجاد یک آرایه NumPy 150x150 RGB arr = np.random.randint(0, 256, (150, 150, 3), dtype=np.uint8) # تبدیل به یک تصویر Pillow در حالت RGB, #ImagarRf, the colormarve' the RGB = Imagearr' img.save('color_image.png')
تصاویر با شفافیت (RGBA)
اگر می خواهید تصویری با شفافیت ایجاد کنید، می توانید از حالت RGBA استفاده کنید. در این حالت، آرایه NumPy باید بعد چهارم برای کانال آلفا داشته باشد.
وارد کردن numpy به عنوان np از تصویر وارد کردن PIL # ایجاد یک آرایه NumPy RGBA 120x120 arr = np.random.randint(0, 256, (120, 120, 4), dtype=np.uint8) # تبدیل به یک تصویر Pillow در حالت RGBA,'marRve, #GBA, img=array =' تصویر با شفافیت img.save('rgba_image.png')
کاربردهای عملی
تبدیل آرایه های NumPy به تصاویر می تواند در بسیاری از سناریوها واقعا مفید باشد. به عنوان مثال، در یادگیری ماشین، ممکن است بخواهید خروجی یک شبکه عصبی را تجسم کنید. اگر خروجی یک آرایه NumPy باشد، می توانید به راحتی آن را به تصویر تبدیل کنید تا ببینید مدل چه چیزی تولید می کند.
کاربرد دیگر در تحقیقات علمی است. ممکن است دادههای عددی از یک آزمایش داشته باشید، و تبدیل آن به تصویر میتواند به شما کمک کند الگوها و روندها را راحتتر تشخیص دهید.
منابع اضافی
اگر علاقه مند به پردازش تصویر پیشرفته تر با Pillow هستید، می توانید برخی از محصولات مرتبط ما را بررسی کنید. به عنوان مثال، ما برخی از موارد فوق العاده داریمباسبار UVWمحصولات قابل استفاده در کاربردهای مختلف صنعتی. همچنین، اگر به فرآیندهای خودکار علاقه دارید، ماورق های فولادی سیلیکونی به طور خودکار روی هم چیده می شوندراه حل ها ممکن است جالب باشد و البته فراموش نکنید که نگاهی به ما بیندازیدروکش بالشگزینه هایی برای محافظت از تصاویر ارزشمند شما
نتیجه گیری
تبدیل یک آرایه NumPy به یک تصویر با Pillow یک فرآیند ساده است، زمانی که اصول اولیه را درک کردید. چه در حال کار بر روی مقیاس خاکستری، رنگی یا تصاویری با شفافیت باشید، Pillow ابزارهای لازم را برای تحقق آن فراهم می کند.
اگر به دنبال استفاده از Pillow برای پروژه های خود هستید و به محصولات Pillow با کیفیت بالا نیاز دارید، ما اینجا هستیم تا به شما کمک کنیم. ما طیف گسترده ای از موارد مرتبط با بالش را ارائه می دهیم که می تواند تجربه پردازش تصویر شما را افزایش دهد. برای خرید و شروع یک رابطه تجاری عالی با ما تماس بگیرید.
مراجع
- اسناد NumPy
- مستندات بالش
