منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : المعالجة الصورية (الدرس الاول)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
[COLOR="#800080"]بسم الله الرحمن الرحيم
((رب اشرح لي صدري ويسر لي امري واحلل عقدة من لساني يفقهو قولي))
صدق الله العلي العظيم[/COLOR]


[COLOR="#0000FF"]إخواني الأعزاء أخواتي العزيزات السلام عليكم ورحمة الله و بركاته اسمحوا لي أن أقدم لكم خبرتي المتواضعة في عالم البرمجة بان أقدم لكم سلسلة من الدروس الخاصة في معالجة الصور(Image Processing) بلغة C#.Net وأرجو أن تنال رضاكم ولا تنسوني و والدي من صالح دعائكم.
[/COLOR]

الدرس الأول: نبذة مختصرة عن معالجة الصور(Image Processing)
[COLOR="#0000FF"]الصور الرقمية: هي تمثيل للصّور الثنائية الأبعاد على الحاسوب بواسطة الصفر والواحد (01). و تتكون كل صورة رقمية على الكمبيوتر من البكسل وهو أصغر وحدة في الصورة. و كل صورة هي مصفوفة تحتوى على صفوف وأعمدة من البكسلات وكلما زادت عدد البكسلات كلما كانت الصورة أوضح.

أنواع الصور الرقمية:
1- صورة ثنائية.
2- صورة رمادية.
3- صورة ملونة.

وستجدون شرحا مفصلا عن هذه الأنواع وعن ماهية المعالجة الصورية وتطبيقاتها في الموسوعة الحرة ويكيبيديا.

وألان نأتي إلى أول كود في درسنا ألا وهي كيفية قراءة صورة ما و وضعها في الPicture Box, أولا يجب علينا أن نعطي أنفسنا الصلاحية لكي نستطيع أن نستخدم المؤشرات في قراءة وكتابة الصور وذلك باستخدام Unsafe Code.[/COLOR]


اولا افعل كما في الصورة التالية




والآن نأتي إلى الكود وهي قراءة الصورة:

PHP كود :
using System
using System.Collections.Generic
using System.ComponentModel
using System.Data
using System.Drawing
using System.Linq
using System.Text
using System.Windows.Forms
using System.Drawing.Drawing2D
using System.Drawing.Imaging

namespace 
FirstLesson 

    public 
partial class Form1 Form 
    

        public 
int ijstrideremain
        public 
Color[,] c
        public 
Bitmap bmp
        public 
BitmapData bmpdata
        public 
Form1() 
        { 
            
InitializeComponent(); 
        } 

        private 
void LoadImage_Click(object senderEventArgs e
        { 
            
openFileDialog1.Filter "Bitmap files(*.bmp)|*.bmp|Jpeg files(*.jpg)|*.jpg|Tiff files(*.tif)|*.tif|Png files(*.png)|*.png|All Files(*.jpg;*.bmp;*.tif;*.png)|*.jpg;*.bmp;*.tif;*.png"
            
openFileDialog1.FilterIndex 5
            
openFileDialog1.ShowDialog(); 
            
bmp = (Bitmap)Bitmap.FromFile(openFileDialog1.FileNamefalse); 
            
= new Color[bmp.Widthbmp.Height]; 
            
bmpdata bmp.LockBits(new Rectangle(00bmp.Widthbmp.Height), ImageLockMode.ReadWritePixelFormat.Format24bppRgb); 
            
IntPtr scan0 bmpdata.Scan0
            
unsafe 
            

                
stride bmpdata.Stride
                
remain stride bmp.Width 3
                
byte= (byte*)(void*)scan0
                for (
0bmp.Heighti++) 
                { 
                    for (
0bmp.Widthj++) 
                    { 
                        
c[ji] = Color.FromArgb(p[2], p[1], p[0]); 
                        
+= 3
                    } 
                    
+= remain
                } 
                
bmp.UnlockBits(bmpdata); 
            } 
            
pictureBox1.Image bmp
        } 
    } 




[COLOR="#0000FF"]الحمدلله والشكر لله انتهينا من الدرس الاول اتمنى ان تنال رضاكم ولاتنسوني و والدي من صالح دعائكم وسوف اشرح لكم الكود في الاسبوع القادم انشاءالله.

اذا راى احدكم في خطأ ارجو تنبيهي بذالك اكون شاكرا لكم[/COLOR]