PDA

View Full Version : مقایسه دو عکس



MBeigy
شنبه 17 مرداد 1383, 17:59 عصر
سلام به همه دوستان
میخواستم بدونم که چطور میشه یک قسمت مشخص از دو عکس هم اندازه را با هم مقایسه کرد. مثلا بدونیم که در یک ناحیه مستطیل شکل از صفحه رنگ کدام عکس دلخواه ماست. لطفا اگه کسی میتونه راهنمایی کنه دریغ نکنه.
ممنون :D

nasser_attarzadeh
یک شنبه 18 مرداد 1383, 01:52 صبح
می شه اول باید بتونی پیکسل به پیکسل عس رو
از نقطه پایین عکس بخونی
که با توابع ویژوال بیسیک میشه
بعد قرمز و آبی و سبز دو پیکسل رو با هم مقایسه کن
این برنامه خیلی ساده ست
و میتونی حتی یک شی رو در عکس جدا کنی که در روباتیک کاربرد زیادی داره

MBeigy
سه شنبه 20 مرداد 1383, 15:36 عصر
سلام
از جوابی که دادی ممنون اما اون توابعی که گفتی میتونی نام ببری که من خودم برم دنبال یادگرفتنشون ؟ اگر هم نمونه کد داشته باشی و لطف کنی که چه بهتر.
باز هم ممنون. :wink:

grkb
دوشنبه 26 مرداد 1383, 09:40 صبح
میتونی یه مثال عملی نشون بدی؟؟؟

0935647
سه شنبه 09 خرداد 1391, 17:15 عصر
سلام باید از توابع get pixel , set pixel استفاده کنید این توابع عضو api ویندوز هستن و از سرعت بالایی نیز بر خوردارند Email:0935647@Gmail.com برای کمک اگر خیلی مهم بود

h_a_m_i_d
پنج شنبه 18 خرداد 1391, 16:28 عصر
دوست عزیز شما با دستور point هم میتونین عمل مقایسه رو انجام بدید که البته نباید هر پیکسل رو مقایسه کنید چون سرعت خیلی پایین میاد و بهتره که step هاتون رو بیشتر کنید تا سرعتتون بالا بیاد
رابطه گام ها با سرعت مقایسه رابطه عکس داره و شما هر چی بخواید برنامتون حساس تر باشه باید مدت زمان بیشتری سپری کنید
و نحوه اجرای اون هم خیلی راحته کافی هست از یک picture box استفاده کنی و بنویسی picturebox1.point(x,y) البته به جای x و y باید مختصات رو وارد کنی البته شایان ذکر هست که بیشتر مواقع از این تابع در حلقه های تکرار(بیشتر حلقه for ) استفاده میشه
و برای مقایسه دو تا عکس میتونی از روش زیر استفاده کنی
for i=1 to pic1.width step 6
for j=1 to pic1.height step 6
dim a as long,b as long
a=pic1.point(i,j)
b=pic2.point(i,j)
if a=b then s=s+1
if a <> b then s=0 exit for
next
if s=0 then msgbox "not"
if s>0 then msgbox "yes"
بازم اگه مشکلی داشتی پیام بزن
و اگر عکست هم داخل یک عکس دیگست میتونی اونو جدا کنی و از دستور زیر استفاده کنی

setroyd
یک شنبه 28 خرداد 1391, 00:13 صبح
اگر هم میخواهی از توابع سریع تر استفاده کنی که GetBitmapBits این api بهترین گزینه هستش