Click here to Skip to main content
15,891,976 members
Articles / Web Development / ASP.NET

"Hey! Is That My Car? How to Sharpen a QuickBird Satellite Image Using DotImage"

12 Nov 2007CPOL3 min read 69.7K   64   31  
Atalasoft leverages their DotImage toolkit to manipulate color channels for the purpose of image enhancement, in this case satellite images. The article is a tutorial on image enhancement and it includes all source code and test images.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

namespace ChannelExplorer
{
    partial class frmChannelExplorer
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.imgColor = new Atalasoft.Imaging.WinControls.ImageViewer();
            this.imgChannel1 = new Atalasoft.Imaging.WinControls.ImageViewer();
            this.imgChannel2 = new Atalasoft.Imaging.WinControls.ImageViewer();
            this.imgChannel3 = new Atalasoft.Imaging.WinControls.ImageViewer();
            this.lblColorImage = new System.Windows.Forms.Label();
            this.btnLoad = new System.Windows.Forms.Button();
            this.radioChannelBGR = new System.Windows.Forms.RadioButton();
            this.lblChannels = new System.Windows.Forms.Label();
            this.radioChannelHSL = new System.Windows.Forms.RadioButton();
            this.btnSubChannel1 = new System.Windows.Forms.Button();
            this.btnSubChannel2 = new System.Windows.Forms.Button();
            this.btnSubChannel3 = new System.Windows.Forms.Button();
            this.btnReload = new System.Windows.Forms.Button();
            this.btnSave = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // imgColor
            // 
            this.imgColor.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                        | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.imgColor.AntialiasDisplay = Atalasoft.Imaging.WinControls.AntialiasDisplayMode.ScaleToGray;
            this.imgColor.AutoZoom = Atalasoft.Imaging.WinControls.AutoZoomMode.BestFit;
            this.imgColor.BackColor = System.Drawing.SystemColors.ControlDark;
            this.imgColor.Centered = true;
            this.imgColor.DisplayProfile = null;
            this.imgColor.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.imgColor.Location = new System.Drawing.Point(12, 42);
            this.imgColor.Magnifier.BackColor = System.Drawing.Color.White;
            this.imgColor.Magnifier.BorderColor = System.Drawing.Color.Black;
            this.imgColor.Magnifier.Size = new System.Drawing.Size(100, 100);
            this.imgColor.Name = "imgColor";
            this.imgColor.OutputProfile = null;
            this.imgColor.Selection = null;
            this.imgColor.Size = new System.Drawing.Size(548, 376);
            this.imgColor.TabIndex = 0;
            this.imgColor.Text = "imageViewer1";
            // 
            // imgChannel1
            // 
            this.imgChannel1.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
            this.imgChannel1.AntialiasDisplay = Atalasoft.Imaging.WinControls.AntialiasDisplayMode.ScaleToGray;
            this.imgChannel1.AutoZoom = Atalasoft.Imaging.WinControls.AutoZoomMode.BestFit;
            this.imgChannel1.BackColor = System.Drawing.SystemColors.ControlDark;
            this.imgChannel1.Centered = true;
            this.imgChannel1.DisplayProfile = null;
            this.imgChannel1.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.imgChannel1.Location = new System.Drawing.Point(12, 467);
            this.imgChannel1.Magnifier.BackColor = System.Drawing.Color.White;
            this.imgChannel1.Magnifier.BorderColor = System.Drawing.Color.Black;
            this.imgChannel1.Magnifier.Size = new System.Drawing.Size(100, 100);
            this.imgChannel1.Name = "imgChannel1";
            this.imgChannel1.OutputProfile = null;
            this.imgChannel1.Selection = null;
            this.imgChannel1.Size = new System.Drawing.Size(178, 171);
            this.imgChannel1.TabIndex = 1;
            this.imgChannel1.Text = "imageViewer2";
            // 
            // imgChannel2
            // 
            this.imgChannel2.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
            this.imgChannel2.AntialiasDisplay = Atalasoft.Imaging.WinControls.AntialiasDisplayMode.ScaleToGray;
            this.imgChannel2.AutoZoom = Atalasoft.Imaging.WinControls.AutoZoomMode.BestFit;
            this.imgChannel2.BackColor = System.Drawing.SystemColors.ControlDark;
            this.imgChannel2.Centered = true;
            this.imgChannel2.DisplayProfile = null;
            this.imgChannel2.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.imgChannel2.Location = new System.Drawing.Point(196, 467);
            this.imgChannel2.Magnifier.BackColor = System.Drawing.Color.White;
            this.imgChannel2.Magnifier.BorderColor = System.Drawing.Color.Black;
            this.imgChannel2.Magnifier.Size = new System.Drawing.Size(100, 100);
            this.imgChannel2.Name = "imgChannel2";
            this.imgChannel2.OutputProfile = null;
            this.imgChannel2.Selection = null;
            this.imgChannel2.Size = new System.Drawing.Size(178, 171);
            this.imgChannel2.TabIndex = 2;
            this.imgChannel2.Text = "imageViewer3";
            // 
            // imgChannel3
            // 
            this.imgChannel3.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
            this.imgChannel3.AntialiasDisplay = Atalasoft.Imaging.WinControls.AntialiasDisplayMode.ScaleToGray;
            this.imgChannel3.AutoZoom = Atalasoft.Imaging.WinControls.AutoZoomMode.BestFit;
            this.imgChannel3.BackColor = System.Drawing.SystemColors.ControlDark;
            this.imgChannel3.Centered = true;
            this.imgChannel3.DisplayProfile = null;
            this.imgChannel3.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.imgChannel3.Location = new System.Drawing.Point(382, 467);
            this.imgChannel3.Magnifier.BackColor = System.Drawing.Color.White;
            this.imgChannel3.Magnifier.BorderColor = System.Drawing.Color.Black;
            this.imgChannel3.Magnifier.Size = new System.Drawing.Size(100, 100);
            this.imgChannel3.Name = "imgChannel3";
            this.imgChannel3.OutputProfile = null;
            this.imgChannel3.Selection = null;
            this.imgChannel3.Size = new System.Drawing.Size(178, 171);
            this.imgChannel3.TabIndex = 3;
            this.imgChannel3.Text = "imageViewer4";
            // 
            // lblColorImage
            // 
            this.lblColorImage.AutoSize = true;
            this.lblColorImage.Location = new System.Drawing.Point(13, 18);
            this.lblColorImage.Name = "lblColorImage";
            this.lblColorImage.Size = new System.Drawing.Size(63, 13);
            this.lblColorImage.TabIndex = 4;
            this.lblColorImage.Text = "Color Image";
            // 
            // btnLoad
            // 
            this.btnLoad.Location = new System.Drawing.Point(83, 13);
            this.btnLoad.Name = "btnLoad";
            this.btnLoad.Size = new System.Drawing.Size(75, 23);
            this.btnLoad.TabIndex = 5;
            this.btnLoad.Text = "Load ...";
            this.btnLoad.UseVisualStyleBackColor = true;
            this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click);
            // 
            // radioChannelBGR
            // 
            this.radioChannelBGR.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
            this.radioChannelBGR.AutoSize = true;
            this.radioChannelBGR.Checked = true;
            this.radioChannelBGR.Location = new System.Drawing.Point(82, 444);
            this.radioChannelBGR.Name = "radioChannelBGR";
            this.radioChannelBGR.Size = new System.Drawing.Size(48, 17);
            this.radioChannelBGR.TabIndex = 6;
            this.radioChannelBGR.TabStop = true;
            this.radioChannelBGR.Text = "BGR";
            this.radioChannelBGR.UseVisualStyleBackColor = true;
            this.radioChannelBGR.CheckedChanged += new System.EventHandler(this.radioChannelRGB_CheckedChanged);
            // 
            // lblChannels
            // 
            this.lblChannels.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
            this.lblChannels.AutoSize = true;
            this.lblChannels.Location = new System.Drawing.Point(15, 445);
            this.lblChannels.Name = "lblChannels";
            this.lblChannels.Size = new System.Drawing.Size(51, 13);
            this.lblChannels.TabIndex = 7;
            this.lblChannels.Text = "Channels";
            // 
            // radioChannelHSL
            // 
            this.radioChannelHSL.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
            this.radioChannelHSL.AutoSize = true;
            this.radioChannelHSL.Location = new System.Drawing.Point(137, 444);
            this.radioChannelHSL.Name = "radioChannelHSL";
            this.radioChannelHSL.Size = new System.Drawing.Size(46, 17);
            this.radioChannelHSL.TabIndex = 8;
            this.radioChannelHSL.Text = "HSL";
            this.radioChannelHSL.UseVisualStyleBackColor = true;
            this.radioChannelHSL.CheckedChanged += new System.EventHandler(this.radioChannelHSL_CheckedChanged);
            // 
            // btnSubChannel1
            // 
            this.btnSubChannel1.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
            this.btnSubChannel1.Enabled = false;
            this.btnSubChannel1.Location = new System.Drawing.Point(64, 645);
            this.btnSubChannel1.Name = "btnSubChannel1";
            this.btnSubChannel1.Size = new System.Drawing.Size(75, 23);
            this.btnSubChannel1.TabIndex = 9;
            this.btnSubChannel1.Text = "Substitute";
            this.btnSubChannel1.UseVisualStyleBackColor = true;
            this.btnSubChannel1.Click += new System.EventHandler(this.btnSubChannel1_Click);
            // 
            // btnSubChannel2
            // 
            this.btnSubChannel2.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
            this.btnSubChannel2.Enabled = false;
            this.btnSubChannel2.Location = new System.Drawing.Point(248, 644);
            this.btnSubChannel2.Name = "btnSubChannel2";
            this.btnSubChannel2.Size = new System.Drawing.Size(75, 23);
            this.btnSubChannel2.TabIndex = 10;
            this.btnSubChannel2.Text = "Substitute";
            this.btnSubChannel2.UseVisualStyleBackColor = true;
            this.btnSubChannel2.Click += new System.EventHandler(this.btnSubChannel2_Click);
            // 
            // btnSubChannel3
            // 
            this.btnSubChannel3.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
            this.btnSubChannel3.Enabled = false;
            this.btnSubChannel3.Location = new System.Drawing.Point(434, 644);
            this.btnSubChannel3.Name = "btnSubChannel3";
            this.btnSubChannel3.Size = new System.Drawing.Size(75, 23);
            this.btnSubChannel3.TabIndex = 11;
            this.btnSubChannel3.Text = "Substitute";
            this.btnSubChannel3.UseVisualStyleBackColor = true;
            this.btnSubChannel3.Click += new System.EventHandler(this.btnSubChannel3_Click);
            // 
            // btnReload
            // 
            this.btnReload.Enabled = false;
            this.btnReload.Location = new System.Drawing.Point(164, 13);
            this.btnReload.Name = "btnReload";
            this.btnReload.Size = new System.Drawing.Size(75, 23);
            this.btnReload.TabIndex = 12;
            this.btnReload.Text = "Reload";
            this.btnReload.UseVisualStyleBackColor = true;
            this.btnReload.Click += new System.EventHandler(this.btnReload_Click);
            // 
            // btnSave
            // 
            this.btnSave.Enabled = false;
            this.btnSave.Location = new System.Drawing.Point(245, 13);
            this.btnSave.Name = "btnSave";
            this.btnSave.Size = new System.Drawing.Size(75, 23);
            this.btnSave.TabIndex = 13;
            this.btnSave.Text = "Save ...";
            this.btnSave.UseVisualStyleBackColor = true;
            this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
            // 
            // frmChannelExplorer
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(572, 681);
            this.Controls.Add(this.btnSave);
            this.Controls.Add(this.btnReload);
            this.Controls.Add(this.btnSubChannel3);
            this.Controls.Add(this.btnSubChannel2);
            this.Controls.Add(this.btnSubChannel1);
            this.Controls.Add(this.radioChannelHSL);
            this.Controls.Add(this.lblChannels);
            this.Controls.Add(this.radioChannelBGR);
            this.Controls.Add(this.btnLoad);
            this.Controls.Add(this.lblColorImage);
            this.Controls.Add(this.imgChannel3);
            this.Controls.Add(this.imgChannel2);
            this.Controls.Add(this.imgChannel1);
            this.Controls.Add(this.imgColor);
            this.Name = "frmChannelExplorer";
            this.Text = "Atalasoft DotImage Channel Explorer";
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private Atalasoft.Imaging.WinControls.ImageViewer imgColor;
        private Atalasoft.Imaging.WinControls.ImageViewer imgChannel1;
        private Atalasoft.Imaging.WinControls.ImageViewer imgChannel2;
        private Atalasoft.Imaging.WinControls.ImageViewer imgChannel3;
        private System.Windows.Forms.Label lblColorImage;
        private System.Windows.Forms.Button btnLoad;
        private System.Windows.Forms.RadioButton radioChannelBGR;
        private System.Windows.Forms.Label lblChannels;
        private System.Windows.Forms.RadioButton radioChannelHSL;
        private System.Windows.Forms.Button btnSubChannel1;
        private System.Windows.Forms.Button btnSubChannel2;
        private System.Windows.Forms.Button btnSubChannel3;
        private System.Windows.Forms.Button btnReload;
        private System.Windows.Forms.Button btnSave;
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Atalasoft, Inc.
United States United States
Lou Franco is the Director of Engineering at Atalasoft, provider of the leading .NET Imaging SDK (DotImage) and the Document Viewer for SharePoint (Vizit).

http://atalasoft.com/products/dotimage
http://vizitsp.com

Comments and Discussions