❤🔥3
Astro Terminal
Martin Shamoonpour – Aha Boogoo (Folk Song)
این دوتا اخری به افتخار رفیقای گیلکم ❤️🔥😁
❤🔥6
این عکسی که دارید میبینید، دقیقاً 640 در 640 پیکسل ابعاد داره. هر پیکسل توی تصاویر رنگی معمولاً شامل سه مقدار رنگی (قرمز، سبز، آبی) هست که هر کدوم ۸ بیت (یا ۱ بایت) اطلاعات دارن.
🔢 یعنی هر پیکسل ۳ بایت فضا میگیره.
640 × 640 = 409,600 پیکسل
409,600 × 3 که میشه تقریباً 1.17 مگابایت حجم خام تصویر!
اما حجم واقعی این عکس فقط 129 کیلوبایته 💀
یعنی تقریباً ۹۰٪ کاهش حجم بدون اینکه با چشم متوجه افت کیفیت بشیم.
❓ اما چطور چنین فشردهسازیای ممکنه؟
پشت این اتفاق، الگوریتم معروف و هوشمند JPEG قرار داره.
از تغییر فضای رنگی و کمکردن جزئیاتی که چشم انسان حساسیت زیادی بهشون نداره، تا تجزیه تصویر به سیگنالهای فرکانسی با استفاده از DCT (تبدیل کسینوس گسسته) و حذف بخشهایی که اهمیت کمی دارن...
همهی اینا باعث میشن تصویر با حفظ ظاهر، حجمش تا حد زیادی کاهش پیدا کنه!
اگر می خواهید عمیق تر الگوریتم JPEG رو درک کنید این ویدیو بهتون دید خیلی خوبی میده.
Astro Terminal 🖼
🔢 یعنی هر پیکسل ۳ بایت فضا میگیره.
640 × 640 = 409,600 پیکسل
409,600 × 3 که میشه تقریباً 1.17 مگابایت حجم خام تصویر!
اما حجم واقعی این عکس فقط 129 کیلوبایته 💀
یعنی تقریباً ۹۰٪ کاهش حجم بدون اینکه با چشم متوجه افت کیفیت بشیم.
❓ اما چطور چنین فشردهسازیای ممکنه؟
پشت این اتفاق، الگوریتم معروف و هوشمند JPEG قرار داره.
از تغییر فضای رنگی و کمکردن جزئیاتی که چشم انسان حساسیت زیادی بهشون نداره، تا تجزیه تصویر به سیگنالهای فرکانسی با استفاده از DCT (تبدیل کسینوس گسسته) و حذف بخشهایی که اهمیت کمی دارن...
همهی اینا باعث میشن تصویر با حفظ ظاهر، حجمش تا حد زیادی کاهش پیدا کنه!
اگر می خواهید عمیق تر الگوریتم JPEG رو درک کنید این ویدیو بهتون دید خیلی خوبی میده.
Astro Terminal 🖼
❤6❤🔥3👍1
این چند وقت که غیبم زده بود! داشتم راجع به فشرده سازی عکس تحقیق میکردم.
از خطا های دید که چشم انسان مرتکب میشه میتونیم بفهمیم که چشم خیلی از ویژگی ها رو از منظره خودش فاکتور میگیره و بیخیال خیلی از ویژگی ها میشه! خب پس ما میتونیم این ویژگی ها رو که برای چشم ما در تشخیص تصویر مهم نبوده رو از عکسمون فاکتور بگیریم. که باعث به وجود اومدن دسته الگوریتم های Lossy برای فشرده سازی عکس میشه.
داخل مقاله هایی که بررسی کردم اکثر این روش ها (از روش های کلاسیک JPEG و JPEG2000 گرفته تا روش های مبتنی بر شبکه های عصبی ضمنی INR) میان عکس رو از اون دامنه پیکسلی (Spatial) به دامنه فرکانس-زمان تبدیل میکنن (با تبدیل های ریاضی مثل تبدیل فوریه و ...) و بعدش روی اون دامنه اطلاعات تکراری و البته همون اطلاعات با فرکانس بالا رو که از چشم ما پنهان هست رو حذف میکنن.
داخل این مخزن گیتهاب کد مربوط به این تبدیل ها رو گذاشتم که میتونید به چشم ببینید این تبدیل ها چطور کار میکنن. خلاصه اومدم بگم که عکس ها اونجوری که شما میبینید توی سیستمتون ذخیره نشدن و یجورایی decode میشن و از اون دامنه transform درمیان تا شما بتونید عکس رو ببینید .👾
از خطا های دید که چشم انسان مرتکب میشه میتونیم بفهمیم که چشم خیلی از ویژگی ها رو از منظره خودش فاکتور میگیره و بیخیال خیلی از ویژگی ها میشه! خب پس ما میتونیم این ویژگی ها رو که برای چشم ما در تشخیص تصویر مهم نبوده رو از عکسمون فاکتور بگیریم. که باعث به وجود اومدن دسته الگوریتم های Lossy برای فشرده سازی عکس میشه.
داخل مقاله هایی که بررسی کردم اکثر این روش ها (از روش های کلاسیک JPEG و JPEG2000 گرفته تا روش های مبتنی بر شبکه های عصبی ضمنی INR) میان عکس رو از اون دامنه پیکسلی (Spatial) به دامنه فرکانس-زمان تبدیل میکنن (با تبدیل های ریاضی مثل تبدیل فوریه و ...) و بعدش روی اون دامنه اطلاعات تکراری و البته همون اطلاعات با فرکانس بالا رو که از چشم ما پنهان هست رو حذف میکنن.
داخل این مخزن گیتهاب کد مربوط به این تبدیل ها رو گذاشتم که میتونید به چشم ببینید این تبدیل ها چطور کار میکنن. خلاصه اومدم بگم که عکس ها اونجوری که شما میبینید توی سیستمتون ذخیره نشدن و یجورایی decode میشن و از اون دامنه transform درمیان تا شما بتونید عکس رو ببینید .👾
GitHub
GitHub - CS-Astronaut/Transform-Based-Image-Processing: Implemented classical frequency-domain algorithms (DWT & FFT) to perform…
Implemented classical frequency-domain algorithms (DWT & FFT) to perform image compression. - CS-Astronaut/Transform-Based-Image-Processing
🔥5❤1👍1
همونطور که میدونید زبانی که مرورگر ها باهاش سروکله میزنن و برای "برنامه نویسی وب استفاده میشه" جاوا اسکریپته، پس جاوا اسکریپت به عنوان یک هدف کامپایل درنظر گرفته میشه; یعنی در نهایت با هر زبانی نوشته باشید کدتون رو باید به جاوا اسکریپت کامپایل بشه که قابل اجرا روی مرورگر کلاینت باشه!
فکر کنم خودتون فهمیدید چقدر محدودیت ایجاد میکنه این قضیه چون JS خودش یک زبان سطح بالا به حساب میاد و کلی ویژگی های زبان های سطح پایین تر مثل مولتی ترد یا پوینتر ها رو ساپورت نمیکنه.
برای رفع این محدودیت ها WASM یا وب اسمبلی ساخته شده که امکان کامپایل زبان هایی مثل C, C#, Rust و ... رو داخل مرورگر (Client Side) فراهم میکنه. علی قهرمانی داخل ارائش میگه که یه زبون ساخته با Rust که اسمشو گذاشته چپ...
ارائه علی قهرمانی در رویداد تهلاگ
فکر کنم خودتون فهمیدید چقدر محدودیت ایجاد میکنه این قضیه چون JS خودش یک زبان سطح بالا به حساب میاد و کلی ویژگی های زبان های سطح پایین تر مثل مولتی ترد یا پوینتر ها رو ساپورت نمیکنه.
برای رفع این محدودیت ها WASM یا وب اسمبلی ساخته شده که امکان کامپایل زبان هایی مثل C, C#, Rust و ... رو داخل مرورگر (Client Side) فراهم میکنه. علی قهرمانی داخل ارائش میگه که یه زبون ساخته با Rust که اسمشو گذاشته چپ...
ارائه علی قهرمانی در رویداد تهلاگ
YouTube
وب اسمبلی (WASM) - علی قهرمانی
در این ارائه آموزشی علی قهرمانی به وب اسمبلی (WASM) میپردازد. رویداد شماره ۲۷۷ تهلاگ در روز پنجشنبه ۱۱ بهمنماه ۱۴۰۳ با حمایت آروان کلاد در دانشگاه خاتم برگزار شد.
تدوین: یاشا
تدوین: یاشا
👾3😁2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
انسان این را دید و گفت:
"جهنم بله! بیاید با جبر خطی این را باز سازی کنیم." 🧠
"جهنم بله! بیاید با جبر خطی این را باز سازی کنیم." 🧠
🔥1👾1
#meme
سیستم ادمینا وقتی حوصلشون سر میره:
سیستم ادمینا وقتی حوصلشون سر میره: