تمرین برنامه نویسی پایتون برای یافتن اندازه (وضوح) یک تصویر

3 سال پیش
تمرین برنامه نویسی پایتون برای یافتن اندازه (وضوح) یک تصویر

تمرین برنامه نویسی پایتون برای یافتن اندازه (وضوح) یک تصویر

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

پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار

برای درک این مثال ، باید از مباحث برنامه نویسی پایتون زیر آگاهی داشته باشید:

JPEG (با تلفظ “جی پیگ”) مخفف Joint Photographic Experts Group است. این یکی از پرکاربردترین تکنیک های فشرده سازی برای فشرده سازی تصویر است.

بیشتر قالب های فایل دارای سرصفحه (چند بایت اولیه) هستند که حاوی اطلاعات مفیدی در مورد فایل هستند.

به عنوان مثال، هدرهای jpeg حاوی اطلاعاتی مانند ارتفاع، عرض، تعداد رنگ (مقیاس خاکستری یا RGB) و غیره است.

در این برنامه، ما برای یافتن اندازه (وضوح) یک تصویر  jpeg را با خواندن این هدرها، بدون استفاده از کتابخانه خارجی پیدا می کنیم.

سورس کد برای یافتن وضوح تصویر JPEG

def jpeg_res(filename):
   """"This function prints the resolution of the jpeg image file passed into it"""

   # open image for reading in binary mode
   with open(filename,'rb') as img_file:

       # height of image (in 2 bytes) is at 164th position
       img_file.seek(163)

       # read the 2 bytes
       a = img_file.read(2)

       # calculate height
       height = (a[0] << 8) + a[1]

       # next 2 bytes is width
       a = img_file.read(2)

       # calculate width
       width = (a[0] << 8) + a[1]

   print("The resolution of the image is",width,"x",height)

jpeg_res("img1.jpg")

خروجی

The resolution of the image is 280 x 280

در این برنامه تصویر را در حالت باینری باز کردیم. فایل های غیر متنی باید در این حالت باز باشند. ارتفاع تصویر در موقعیت ۱۶۴ قرار دارد و به دنبال آن عرض تصویر قرار دارد. طول هر دو، ۲ بایت است.

توجه داشته باشید که این مورد فقط برای استاندارد (JPEG File Interchange Format (JFIF صادق است.

اگر تصویر شما با استفاده از استاندارد دیگر رمزگذاری شده باشد (مانند EXIF)، کد کار نمی کند.

ما ۲ بایت را با استفاده از عملگر تغییر بیت << به یک عدد تبدیل می کنیم. در آخر، وضوح نمایش داده می شود.

منبع.

لیست جلسات قبل آموزش برنامه نویسی پایتون

  1. آموزش نصب و اجرای برنامه نویسی پایتون
  2. کلیدواژه ها و شناسه های برنامه نویسی پایتون
  3. دستورات، تورفتگی ها و کامنت ها در برنامه نویسی پایتون
  4. متغیرها، ثابت ها و لیترال ها در برنامه نویسی پایتون 
  5. انواع داده ها در برنامه نویسی پایتون
  6. تبدیل نوع در برنامه نویسی پایتون
  7. ورودی، خروجی و وارد کردن در برنامه نویسی پایتون
  8. عملگرها در برنامه نویسی پایتون
  9. نام و دامنه در برنامه نویسی پایتون
  10. دستور شرطی if…else در برنامه نویسی پایتون
  11. حلقه for در برنامه نویسی پایتون
  12. حلقه while در برنامه نویسی پایتون
  13. دستورات break و continue در برنامه نویسی پایتون
  14. دستور pass در برنامه نویسی پایتون
  15. توابع در برنامه نویسی پایتون
  16. آرگومان تابع در برنامه نویسی پایتون
  17. تابع بازگشتی در برنامه نویسی پایتون
  18. تابع بی نام/ تابع لامبدا در برنامه نویسی پایتون
  19. متغیرهای سراسری، محلی و غیر محلی در برنامه نویسی پایتون
  20. کلیدواژه global در برنامه نویسی پایتون
  21. ماژول های برنامه نویسی پایتون
  22. پکیج ها در برنامه نویسی پایتون
  23. اعداد و تبدیل نوع داده در برنامه نویسی پایتون 
  24. لیست در برنامه نویسی پایتون
  25. تاپل در برنامه نویسی پایتون 
  26. رشته ها در برنامه نویسی پایتون
  27. مجموعه ها در برنامه نویسی پایتون
  28. دیکشنری در برنامه نویسی پایتون
  29. عملیات ورودی/خروجی در برنامه نویسی پایتون 
  30. دایرکتوری و مدیریت فایل ها در برنامه نویسی پایتون
  31. خطاها و استثناهای توکار در برنامه نویسی پایتون
  32. مدیریت استثناها در برنامه نویسی پایتون
  33. استثناهای تعریف شده توسط کاربر در برنامه نویسی پایتون
  34. برنامه ‌نویسی شی گرا در پایتون
  35. اشیا و کلاس ها در برنامه نویسی پایتون
  36. وراثت در برنامه نویسی پایتون
  37. وراثت چندگانه در برنامه نویسی پایتون
  38. سربارگذاری عملگرها در برنامه نویسی پایتون
  39. تکرار کننده ها در برنامه نویسی پایتون
  40. Generator در برنامه نویسی پایتون
  41. بستار در برنامه نویسی پایتون
  42. دکوراتور در برنامه نویسی پایتون
  43. دکوراتور property در برنامه نویسی پایتون
  44. عبارات با قاعده در برنامه نویسی پایتون (RegEx)
  45. تمرین برنامه نویسی پایتون برای پرینت !Hello world
  46. تمرین برنامه نویسی پایتون برای جمع کردن دو عدد
  47. تمرین برنامه نویسی پایتون برای یافتن ریشه مربع
  48. تمرین برنامه نویسی پایتون برای محاسبه مساحت یک مثلث
  49. تمرین برنامه نویسی پایتون برای حل معادله درجه دوم
  50. تمرین برنامه نویسی پایتون برای مبادله دو متغیر
  51. تمرین برنامه نویسی پایتون برای تولید عدد تصادفی
  52. تمرین برنامه نویسی پایتون برای تبدیل کیلومتر به مایل
  53. تمرین برنامه نویسی پایتون برای تبدیل سانتیگراد به فارنهایت
  54. تمرین برنامه نویسی پایتون برای بررسی مثبت یا منفی بودن یک عدد
  55. تمرین برنامه پایتون برای بررسی زوج یا فرد بودن یک عدد
  56. تمرین برنامه نویسی پایتون برای بررسی سال کبیسه
  57. تمرین برنامه نویسی پایتون برای یافتن بزرگترین عدد در بین سه عدد
  58. تمرین برنامه نویسی پایتون برای بررسی عدد اول
  59. تمرین برنامه نویسی پایتون برای چاپ تمام اعداد اول در یک بازه زمانی
  60. تمرین برنامه نویسی پایتون برای یافتن فاکتورهای یک عدد
  61. تمرین برنامه نویسی پایتون برای نمایش جدول ضرب
  62. تمرین برنامه نویسی پایتون برای چاپ توالی فیبوناچی
  63. تمرین برنامه نویسی پایتون برای بررسی عدد آرمسترانگ
  64. تمرین برنامه نویسی پایتون برای یافتن عدد آرمسترانگ بین دو عدد صحیح
  65. تمرین برنامه نویسی پایتون برای یافتن مجموع اعداد طبیعی
  66. تمرین برنامه نویسی پایتون برای نمایش توان ۲ با استفاده از تابع بی نام
  67. تمرین برنامه نویسی پایتون برای یافتن اعداد قابل تقسیم بر عدد دیگری
  68. تمرین برنامه نویسی پایتون برای تبدیل دهدهی به باینری، اکتال و هگزادسیمال
  69. تمرین برنامه نویسی پایتون برای یافتن مقدار کاراکتر ASCII
  70. تمرین برنامه نویسی پایتون برای یافتن HCF یا GCD
  71. تمرین برنامه نویسی پایتون برای یافتن LCM
  72. تمرین برنامه نویسی پایتون برای یافتن فاکتورهای یک عدد
  73. تمرین برنامه نویسی پایتون برای ساخت یک ماشین حساب ساده
  74. تمرین برنامه نویسی پایتون برای جابجایی کارت های Deck
  75. تمرین برنامه نویسی پایتون برای نمایش تقویم
  76. تمرین برنامه نویسی پایتون برای نمایش توالی فیبوناچی با استفاده از بازگشت
  77. تمرین برنامه نویسی پایتون برای یافتن مجموع اعداد طبیعی با استفاده از بازگشت
  78. تمرین برنامه نویسی پایتون برای یافتن فاکتورهای عدد با استفاده از بازگشت
  79. تمرین برنامه نویسی پایتون برای تبدیل دهدهی به باینری با استفاده از بازگشت
  80. تمرین برنامه نویسی پایتون برای جمع دو ماتریس
  81. تمرین برنامه نویسی پایتون برای انتقال یک ماتریس
  82. تمرین برنامه نویسی پایتون برای ضرب دو ماتریس
  83. تمرین برنامه نویسی پایتون برای بررسی پالیندروم یک رشته  
  84. تمرین برنامه نویسی پایتون برای حذف علائم نگارشی از یک رشته
  85. تمرین برنامه نویسی پایتون برای مرتب سازی کلمات به ترتیب حروف الفبا
  86. تمرین برنامه نویسی پایتون برای نشان دادن مجموعه ها
  87. تمرین برنامه نویسی پایتون برای شمارش تعداد هر مصوت
  88. تمرین برنامه نویسی پایتون برای ادغام نامه ها
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه