PDA

View Full Version : سوال: تبديل تصوير به آرايه



palvayeh
سه شنبه 12 آبان 1388, 17:31 عصر
سلام
من مي خواهم يك تصوير سياه و سفيد را به يك ارايه از نوع بايت يا integer تبديل كنم به اينصورت كه اگر پيكسل سفيد بود مقدار صفر و اگر سياه بود مقدار يك در آرايه ذخيره شود
اگر كسي راه حل اينكار را مي داند لطفا به من كمك كند.
ممنون

IamOverlord
سه شنبه 12 آبان 1388, 19:54 عصر
سلام دوست عزیز!
برای ریختن تصویر در آرایه:
این آرایه رو در اول برنامه (General) تعریف کنید:

Dim PicArr(1024, 768) As Boolean
برای ذخیره ی تصویر سیاه و سفید در آرایه ای که تعریف کردید:

Picture1.ScaleWidth = 1024
Picture1.ScaleHeight = 768
For Y = 1 To 768
For X = 1 To 1024
If Picture1.Point(X, Y) = vbBlack Then
PicArr(X, Y) = True
Else
PicArr(X, Y) = False
End If
Next X
Next Y
برای نمایش اون از آرایه در جایی دیگر:

Picture2.ScaleWidth = 1024
Picture2.ScaleHeight = 768
For Y = 1 To 768
For X = 1 To 1024
If PicArr(X, Y) = True Then
Picture2.PSet (X, Y), vbBlack
Else
Picture2.PSet (X, Y), vbWhite
End If
Next X
Next Y
:چشمک:

xxxxx_xxxxx
سه شنبه 12 آبان 1388, 20:00 عصر
البته از اونجایی که در تصاویر سیاه و سفید با یک طیف رنگی سفید تا سیاه (خاکستری) مواجه هستیم بهتر هست خروجی Picture1.Point(X, Y) رو بررسی کنیم. اگر جزو رنگ های روشن بود به عنوان پیکسل سفید درنظر گرفته شود و اگر جزو رنگ های تیره بود به عنوان پیکسل سیاه.

behroz1992
سه شنبه 12 آبان 1388, 20:05 عصر
دوست عزیز اگه ایرادی نداره فایل ضمیمه کنید

IamOverlord
سه شنبه 12 آبان 1388, 20:58 عصر
سلام دوستان!
این هم سورس برنامه...
ولی چون سرعت کار پایین هست یه ProgressBar هم گذاشتم تا مراحل کار مشخص بشه. ضمن این که اگر ProgressBar رو بردارید سرعت کار یه کم بالا می ره.
(من خودم هم مبتدی هستم، اگه یه جاهایی بد کدنویسی می کنم دیگه خودتون بپذیرید...)
:چشمک: