Esempio n. 1
0
        /// <summary>
        /// 传递数据至image stastics窗体
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            /// </summary>
            /// 根据文件名选择数据
            /// </summary>
            if (listBox1.Text == "")
            {
                MessageBox.Show("请选择数据!");
                return;
            }
            Imagestatistics imagsta = new Imagestatistics();

            imagsta.FileName = listBox1.SelectedItem.ToString();
            GetDataByFilename gdb = new GetDataByFilename();
            int DataNumber        = gdb.getnumber(Form1.boduan, imagsta.FileName);

            /// </summary>
            /// imagsta实例窗体数据初始化和赋值
            /// </summary>
            imagsta.LineCounts   = Form1.boduan[DataNumber].LineCounts;
            imagsta.ColumnCounts = Form1.boduan[DataNumber].ColumnCounts;
            imagsta.bands        = Form1.boduan[DataNumber].bands;
            //imagsta.DataType = Form1.boduan[DataNumber].DataType;
            imagsta.Interleave = Form1.boduan[DataNumber].Interleave;
            imagsta.BandsData  = new int[imagsta.bands, imagsta.ColumnCounts *imagsta.LineCounts];
            imagsta.BandsDataD = new double[imagsta.bands, imagsta.ColumnCounts *imagsta.LineCounts];
            imagsta.showdata   = new int[imagsta.bands, imagsta.ColumnCounts *imagsta.LineCounts];
            for (int i = 0; i < imagsta.bands; i++)
            {
                for (int j = 0; j < imagsta.ColumnCounts * imagsta.LineCounts; j++)
                {
                    imagsta.BandsData[i, j]  = Form1.boduan[DataNumber].BandsData[i, j];
                    imagsta.BandsDataD[i, j] = Form1.boduan[DataNumber].BandsDataD[i, j];
                }
            }

            /// </summary>
            /// 生成0-255范围像素数据,用于联合直方图和共生矩阵
            /// </summary>
            imagestretch ims = new imagestretch(imagsta.ColumnCounts, imagsta.LineCounts, imagsta.bands);

            ims.LinearShow(imagsta.showdata, imagsta.BandsDataD);
            imagsta.Show();
            this.Close();
        }
Esempio n. 2
0
        /// <summary>
        /// 打开新文件作为数据传入
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            /// </summary>
            /// 新文件文件读取
            /// </summary>
            string          dataPath = ""; string hdrPath = "";
            Imagestatistics imagsta = new Imagestatistics();
            OpenFileDialog  ofd     = new OpenFileDialog();

            ofd.Filter = null;
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                dataPath = ofd.FileName;
                hdrPath  = ofd.FileName + ".hdr";
            }
            read rd = new read();

            rd.HDRread(hdrPath);
            /// </summary>
            /// imagsta实例窗体数据初始化和赋值
            /// </summary>
            imagsta.LineCounts   = rd.LineCounts;
            imagsta.ColumnCounts = rd.ColumnCounts;
            imagsta.bands        = rd.bands;
            //imagsta.DataType = rd.DataType;
            imagsta.Interleave = rd.Interleave;
            imagsta.BandsData  = new int[imagsta.bands, imagsta.ColumnCounts *imagsta.LineCounts];
            imagsta.BandsDataD = new double[imagsta.bands, imagsta.ColumnCounts *imagsta.LineCounts];
            //Form1.abl.readmore.Add(rd);

            if (rd.Dataread(dataPath) == true)
            {
                MessageBox.Show("选择成功!");
            }
            imagsta.BandsData  = rd.BandsData;
            imagsta.BandsDataD = rd.BandsDataD;
            imagsta.Show();

            this.Close();
        }