PDA

View Full Version : گفتگو: کار روی عکس ها



R_BABAZADEH
دوشنبه 31 تیر 1387, 16:25 عصر
می شه هر کی در مورد انجام دادن فعالیت های invrt color,flip,rotate,... رو شیئ image اطلاعات داره کمک کنه؟
در مورد انتقال عکس به شیئ stream و داشتن اطلاعاتی که بتوان با آن مشخصات تک تک pixel ها رو ذخیره کرد راهی وجود داره?؟

samispeed
دوشنبه 31 تیر 1387, 16:43 عصر
روشهای مختلفی برای این کار وجود داره یا می شود به صورت برداری از بیت ها انجام داد یا بیت به بیت روی عکس عملیات را انجام داد که روش دوم روش بهتری فقط یک مقدار زمان بیشتری را مصرف می کند . حالا شما به کدام روش می خواهید بنویسید . می خواهید از dll های کمکی استفاده کنید یا کلش خودتون بنویسید

R_BABAZADEH
سه شنبه 01 مرداد 1387, 11:07 صبح
dll بهتره و سریعتره

samispeed
سه شنبه 01 مرداد 1387, 17:56 عصر
این یکی از نمونه های خوب هست که امیدوارم به دردتون بخوره فقط با c# نوشته شده ولی از نظر ایده کاری می تواند براتون مفید باشد CodeProject: Image Processing Lab in C#. Free source code and programming help (http://www.codeproject.com/KB/GDI-plus/Image_Processing_Lab.aspx?fid=158880&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=1&select=1910308)

این برنامه هم ساده هست و به ازای هر pixel کار می کند
CodeProject: Image Processing for Dummies with C# and GDI+ Part 1 - Per Pixel Filters. Free source code and programming help (http://www.codeproject.com/KB/GDI-plus/csharpgraphicfilters11.aspx)

R_BABAZADEH
پنج شنبه 03 مرداد 1387, 13:58 عصر
اینکه vb.net نیستش .تو vb.net چیزی نداری؟

salehbagheri
پنج شنبه 03 مرداد 1387, 17:06 عصر
از محتويات System.Drawing مي توني استفاده كني!

samispeed
پنج شنبه 03 مرداد 1387, 18:32 عصر
این برنامه را براتون گذاشتم فقط در برنامه های image process بعد از اجرا exe را اجرا کنید چون سرعت ان بالا است

parsavb
سه شنبه 08 مرداد 1387, 10:23 صبح
این هم یک نمونه ساده دیگه

sepehr.net
دوشنبه 06 آبان 1387, 21:07 عصر
سلام این یک نمونه از invert کردن تو vb.net
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Pic1 As Bitmap
Dim r, b, g As Integer
Pic1 = PictureBox1.Image
For i As Integer = 1 To Pic1.Width - 2
For j As Integer = 1 To Pic1.Height - 2
r = 255 - CInt(Pic1.GetPixel(i, j).R)
g = 255 - CInt(Pic1.GetPixel(i, j).G)
b = 255 - CInt(Pic1.GetPixel(i, j).B)
Pic1.SetPixel(i, j, Color.FromArgb(r, r, r))
Next
Next
PictureBox1.Image.Clone()
PictureBox1.Invalidate()
PictureBox1.Image = Pic1
PictureBox1.Refresh()
End Sub

combo_ci
دوشنبه 06 آبان 1387, 23:11 عصر
اين يه dll به c# بود كه به vb تبديلش كردم...يه سري تقييرات هم توش دادم...تقريا كامله...

tamizi2
شنبه 09 آذر 1387, 10:38 صبح
من که هر چی توی این dll گشتم نتونستم گزینه های مربوط به چرخش تصویر رو پیدا کنم
بیشتر مربوط به زوم بود
موفق باشید