PDA

View Full Version : كار با پيكسل هاي عكس



bobrus
شنبه 14 دی 1387, 09:27 صبح
(هنوز به جوابم نرسيدم )با سلام
يه كد مي خوام كه بتونه يه عكس بگيره و بگه كه چند تا پيكسل از رنگي كه انتخاب كردي توش وجود داره و بعد بتونه رنگشونو به اون رنگي كه انتخاب كردي تغيير بده و در نهايت اگه يه گزارش هم بده كه از هر رنگي چند تا پيكسل وجود داره خوب مي شه
با تشكر اگه زود جواب بديد ممنون مي شم.

Mbt925
شنبه 14 دی 1387, 14:03 عصر
متد Point() رنگ یه نقطه اط تصویر رو برمی گردونه.

شما می تونید با دو تا حلقه، کلیه نقاط تصویر رو پیمایش کنیدو رنگ پیکسل هاشو بدست بیارید.

شبه کد زیر کمکتون می کنه:





for i=0 to picture.height
for j=0 to picture.width
color = picture.point(i,j)

xxxxx_xxxxx
شنبه 14 دی 1387, 14:57 عصر
در اين لينك طريقه استفاده توابع GetPixel و SetPixel و كار روي تصاوير
كار با تصاوير و پيكسل ها (http://barnamenevis.org/forum/showthread.php?t=81542&page=28)

syntiberium
یک شنبه 15 دی 1387, 01:35 صبح
با سلام . آقای Mbt925 (http://barnamenevis.org/forum/member.php?u=34702) اگر می شه یه کد به شکل خیلی ساده راهنمایی کنید که سرعتش بالا باشه چون این کد سرعتش به شدت پایین است . و البته اگر می شه یه کد به همین شکلی که گفتم برای گذاشتن پیکسل راهنمایی کنید :خجالت:. با تشکر .

shask00l
یک شنبه 15 دی 1387, 05:29 صبح
يه كد مي خوام كه بتونه يه عكس بگيره و بگه كه چند تا پيكسل از رنگي كه انتخاب كردي توش وجود داره و ...................

دوست عزیز .
1 نگاهی به این بنداز .
http://barnamenevis.org/forum/showthread.php?t=133115

حتی عنوان تاپیک هم همین چیزیه که شما میگین . ضمنا تبدیل کد از 1 زبان به زبان دیگه کار سختی نیست . روش کار مهمه .

مسئولین سایت گزینه جستجو رو برای قشنگی طراحی نکردن . :چشمک:


اگر می شه یه کد به شکل خیلی ساده راهنمایی کنید که سرعتش بالا باشه چون این کد سرعتش به شدت پایین است . و البته اگر می شه یه کد به همین شکلی که گفتم برای گذاشتن پیکسل راهنمایی کنید :خجالت:. با تشکر .

در این مورد هم روش های بهینه تری وجود داره . یکی از ساده ترین روشها اینه که اطلاعات تصویری رو مستقیما از فایل بخونی . توی حافظه load کنی و بعد کارتو انجام بدی ( در قالب اطلاعات . نه در قالب کلاس bitmap) اینطوری 1 خورده سرعت بالا میره . ضمنا اگر توی حلقه های از do event استفاده کنی سیستم هم زیاد گیج نمیزنه . توی همین سایت تاپیکی با نام پردازش تصویر وجود داره به اونجا سر بزنید .

موفق باشید

bobrus
یک شنبه 15 دی 1387, 16:16 عصر
از دوستاني كه جواب دادن ممنونم يه نگاه به كدها مي ندازم اگه جواب نگرفتم باز مزاحمتون مي شو
از همه متشكر
دوست عزيزshask00l (http://barnamenevis.org/forum/member.php?u=3324)
ببخشيد اگه بي ادبي كردم و تاپيك دادم.

bobrus
پنج شنبه 19 دی 1387, 10:42 صبح
سلام به همه دوستان
با تشكر از جوابهايي كه دادين خوب بود ولي خيلي آهسته اجرا ميشه و زمان زيادي مي بره اگه كسي باشه كه بتونه از ساختار فايل توضيحي بده ويا از خود ساختار فايل بشه اين مشخصات رو در بياريم فكر كنم كه خيلي سريعتر به جواب برسيم اگه كسي مي دونه توضيح بده ممنون مي شم

shask00l
پنج شنبه 19 دی 1387, 11:12 صبح
کار کردن با فایل ها 1 خورده دردسر داره . !!. من خودم این کارو انجام ندادم ولی از لحاظ تئوری عملیه .!!

1 روش خیلی ساده و بقول خومون زیر آبی برای انجام این کار اینه که کد یا pattern رنگ مورد نظر رو توی فایل شناسایی کنی . وبعد کل فایل رو با stream reader باز کنی و pattern مربوطه رو به چیزی که میخوای تغییر بدی و دوباره با stream writer اونو بنویسی. اگر هم نمیدونی که رنگ چطوری توی فایل تصویری ذخیره میشه بهتره بری دنبال refrence برای فرمت فایل ها . ساده ترینشون bitmap هستش که تمام رنگ ها رو ذخیره میکنه و هر برنامه ای بخواد تصویر رو edit بکنه به یک نحوی با این فرمت درگیر هستش . اگه توضیح بیشتری در مورد فرمت فایل ها میخوای بگو ...

موفق باشی

bobrus
سه شنبه 24 دی 1387, 18:14 عصر
خوب اگه يه رفرنس سراغ داريد برام بذاريد يا اگه واسه يه مدل عكس مثلاً همون Bmp نمونه برنامه داريد بذاريد ممنون مي شم

shask00l
سه شنبه 24 دی 1387, 22:29 عصر
http://atlc.sourceforge.net/bmp.html
http://www.martinreddy.net/gfx/2d/BMP.txt
http://www.fortunecity.com/skyscraper/windows/364/bmpffrmt.html
http://www.fileformat.info/format/bmp/egff.htm

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