PDA

View Full Version : فشرده سازی عکس



sara.hoseini90
سه شنبه 01 آذر 1390, 00:30 صبح
با سلام.
من میخوام به زبان سی شارپ برنامه ای بنویسم که 160تا عکس رو بدون اینکه از کیفیتش کم شه فشرده سازی کنم ونمایش بدم به صورت یه فیلم ودوباره به حالت اول بر گردونم .برای اینکار دنبال بهترین الگوریتم میگردم.



با تشکر.

group45
سه شنبه 01 آذر 1390, 05:02 صبح
سلام
منظورتون از فشرده سازس چیه؟
1- میخواید با یه پسوند دیکه مثل زیپ حجم فایل رو کم کنید؟
2- یا مثل نرم افرازایی که حجم فایلای عکس رو کم میکنن عمل کنید؟

sara.hoseini90
چهارشنبه 02 آذر 1390, 01:51 صبح
مورد دوم میخوام حجمشو کم کنم.

a.khosroabadi
چهارشنبه 02 آذر 1390, 20:16 عصر
سلام برایه روش دوم میتونید از الگوریتم هایه فشرده سازی Jpeg استفاده کنید
البته پیاده سازیش موقع اجرا سرعت کمی داره.چون رو تکت تکه پیکسل ها کار میکنه تغییر مد رنگ انجام میده به حوضه فرکانس میبرشون و یکسری تبدیل هایه دیگه و در نهایت با الگوریتم هافمن فشرده و ذخیره میشن

vcldeveloper
دوشنبه 07 آذر 1390, 23:46 عصر
سلام برایه روش دوم میتونید از الگوریتم هایه فشرده سازی Jpeg استفاده کنید

عکس رو بدون اینکه از کیفیتش کم شه فشرده سازی کنم
JPEG یک الگوریتم فشرده سازی lossy هست؛ یعنی تصویر فشرده شده بخشی از داده های تصویر اصلی را در فرآیند فشرده سازی از دست میده، و نتیجه کار کیفیتی پایین تر از تصویر اصلی خواهد داشت! در مقابل، الگوریتم هایی مثل PNG، الگوریتم های فشرده سازی lossless هستن. نتیجه اینکه، مطلب شما جواب سوال کاربر نیست.

vcldeveloper
سه شنبه 08 آذر 1390, 00:41 صبح
من میخوام به زبان سی شارپ برنامه ای بنویسم که 160تا عکس رو بدون اینکه از کیفیتش کم شه فشرده سازی کنم ونمایش بدم به صورت یه فیلم ودوباره به حالت اول بر گردونم .برای اینکار دنبال بهترین الگوریتم میگردم.ببینید شما باید در قدم اول بتونید خودتون مشکل خودتان را به بخش های کوچکتر تقسیم کنید، و بعدش ببینید چه بخش هایی را بلد هستید، و برای چه بخش هایی نیاز به کمک دارید. اون وقت درباره بخش هایی که نیاز به کمک دارید، تحقیق کنید، و ببینید چه راه حل هایی برای انجام آنها وجود داره، و چطور میشه اون راه حل ها را با یک ابزار خاص (مثلا #C) پیاده سازی کرد.

الان میشه از این متن شما این بخش ها را استخراج کرد:

1- فشرده سازی 160 عکس بدون افت کیفیت.
2- از حالت فشرده خارج کردن 160 عکس.
3- نمایش عکس ها

برای هر کدوم از این بخش ها میشه سوالات مختلفی مطرح کرد که در توضیحات شما بهشون اشاره ایی نشده، مثلا برای بخش اول:

1- آیا عکس های فشرده شده باید در حالت فشرده هم قابل نمایش باشند، یا اینکه باید به طور اختصاصی با برنامه شما باز بشند؟
2- حجم متوسط هر یک از این عکس ها چقدر هست؟
3- سرعت فشرده سازی این عکس ها چقدر در عملکرد برنامه شما موثر هست؟

ممکنه سوالات دیگه ایی هم بشه برای همین یک بخش مطرح کرد. همینطور میشه برای سایر بخش های برنامه شما هم سوالات مختلفی مطرح کرد. با توجه به پاسخ این سوالات، میشه راه حل های مختلفی برای هر کدوم از این بخش ها پیشنهاد داد؛ مثلا اگر قرار نیست که این عکس ها خارج از برنامه نمایش داده بشند، یک پیشنهاد میتونه استفاده از فرمت ZIP با قابلیت رمزگزاری برای تک تک تصاویر، یا همه تصاویر به طور یکجا باشه. این میشه یک راه حل. حالا شما می خواید این رو در #C پیاده سازی کنید، پس باید دنبال کتابخانه های موجود برای پشتیبانی از ZIP در دات نت بگردید، و ببینید از نظر امکانات، و سرعت فشرده سازی و بازسازی کدامیک نیازهای شما را بهتر فراهم می کنند، و بعدش چگونگی استفاده از آن در برنامه خودتان را با استفاده از مستندات و مثال های خودش یاد بگیرید، و در برنامه خودتان ازش استفاده کنید.

اگر به شکل نظامند درباره مشکلات حین انجام کار برخورد کنید، می تونید هم خودتان آنها را ساده تر حل کنید، و هم در صورت نیاز به کمک، مشکل تان را بهتر برای دیگران تشریح کنید، و جواب های مناسب تری دریافت کنید.