• 专业程序设计part1


    7 专业程序设计

    (有多少人在大学里学到了自己真正喜欢的专业??并在此专业上获得了升华??)i==

    软件图标下载网址:easyicon

    01thu

    4邻域 8邻域 D邻域 是啥

    像素间的连通性,是转为矢量数据的重要依据(分为8联通/4连通,03SAT计算机图形学上提到,密集用8,凸显尖锐用4,但为啥?又没听到md)

    任何图像文件都具有头文件吗?

    typedef struct 定义数据结构

    传感器放四个波段,一般是红绿蓝黄??。。。。七个波段的第一个像素

    bsq bip bil 三种数据存储结构envisatSAR 存复数

    中值滤波对椒盐噪声很管用

    非监督分类KMEAN

    和机器学习里的非监督分类差别,不是函数,是几何形式,找质心相同点,也是先随机选取再进行迭代

    上面无非是举了一些专业程序功能设计要解决的问题的例子,,

    02 tue

    计算机窗口的坐标从左上角开始

    wps20

    wps21

    wps22

    wps23

    wps24

    读取显示遥感图像,给出图像路径,open(gdal.open)键实现读取路径的功能,构造成一个bmp,贴到panel里面

    02THU

    wps25

    wps26

    checkchanged触发事件。修改enable属性,有个问题,checkchanged是争对所有的check键吗???逻辑问题,你再想想,不是,你跳出那个思维,想不通自己盯着代码自己想,只有在rgbchecked时,enable是true 其他都是false,so easy

    加载图像→框→

    dll,动态链接库 bin binary debug 调试 版本

    类:成员属性和成员方法

    面向对象,函数重载概念,函数名一样,参数不同

    wps27

    类实例化对象

    wps28

    wps29

    可不打具体路径

    弹出对话框

    wps30

    wps31

    wps32

    注意大小写敏感Dataset/DataSet可以写全路径,system.DataSet...一个屁问题搞半天

    实现了点击加载图像,跳出窗口,过滤文件格式,加载影像,读取宽高数据的功能,要透彻了解代码还需对gdal深入了解一下把。。

    03tue

    伪代码:

    打开文件→获取路径→用gdal.open()读取路径→dataset→界面

    装箱拆箱object

    拆箱要知道类别知道怎么拆因为字节一段一段存的,不说明会乱码,读不出来,装随便装,

    SelectedIndex把当前列表索引值设为零?干吗用?

    还有for循环语句,再了解了解,逻辑

    bug1:很多都是事件未清零

    需求:

    已有carlenrt.dataset,全有

    head&data

    dn值加通道,rgb显示,嗯,只是可视化一下

    还缺要求:要显示什么

    动画基于1/24

    图像显示也这个原理,一秒读24次重新生成bmp,显示

    图像显示:

    创建bmp→创建buffer(缓冲区)长宽→贴

    rgb加色原理

    nd值→缓冲区→rgb值,显示颜色

    using system.drawing

    public class gdalprovider

    {

    }

    public bitmap getbmp(os.geo.gdal.datasetds,rectangle showrcet,int[] bandlist)

    {

    }

    03国庆

    04TUE

    图像旋转:

    已有dataset,废话。。。

    1.需要用户输入旋转角度、背景值,输出路径

    2.设计UI

    3.以图像的中心点旋转,

    屏幕坐标→数学坐标→旋转坐标(矩阵)

    注意角度和弧度的关系,计算机图形学里也有

    wps33

    wps34

    预先加备选值

    (设定下拉框的值,把下拉框选中的值赋给文本框算法)

    数学方法呃你看着看吧

    04THU

    1.弹出旋转窗口

    2.设定局部全局变量

    wps35

    在rotate.cs

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using System.Windows.Forms;

    using OSGeo.GDAL;

    namespace RSimage2018

    {

    public partial class rotateDialog : Form

    {

    public Dataset gdalDS = null;

    public rotateDialog(Dataset ds)///见上定义

    {

    InitializeComponent();

    gdalDS = ds;

    }

    private void comboBoxAngle_SelectedIndexChanged(object sender, EventArgs e)

    {

    textBoxAngle.Text = comboBoxAngle.SelectedItem.ToString();

    ///下拉框值赋给文本框

    }

    private void comboBoxBackground_SelectedIndexChanged(object sender, EventArgs e)

    {

    textBoxBackground.Text = comboBoxBackground.SelectedItem.ToString();

    }

    private void btnSaveFilePath_Click(object sender, EventArgs e)

    {

    ///string SaveFilePath;

    SaveFileDialog saveFileDialog = new SaveFileDialog();

    saveFileDialog.Title = "保存旋转文件";

    saveFileDialog.Filter = "Tiff文件|*.tif|Erdas img文件|*.img|Bmp文件|*.bmp|所有文件|*.*";

    if (saveFileDialog.ShowDialog() == DialogResult.OK)

    {

    textBoxSaveFilePath.Text = saveFileDialog.FileName;

    }

    }

    private void btnOk_Click(object sender, EventArgs e)

    {

    if (textBoxAngle.Text == ""||textBoxBackground.Text==""||textBoxSaveFilePath.Text=="")

    ///判断这些是否为空

    {

    MessageBox.Show("请输入角度、背景值与保存路径");

    return;

    }

    }

    }

    }

    以上为旋转窗口的代码,今天的课实现了影像旋转功能,建完窗口后,对窗口中的组建进行事件的编写,其中combox要在另一栏中设定可选值,事件写完之后,写练习,

  • 相关阅读:
    Android捕捉错误try catch 的简单使用
    ubuntu下安装lua和tolua++
    mosh安装与使用
    三,温习redis持久化解析与配置
    二,温习redis(工具命令使用)
    一,温习Redis (详解从安装到配置)
    报错!-> CPU100%-但是找不到使用cpu的进程
    linux安全---防火墙(iptables)理论解析
    Mysql8.0版二进制安装(my.cnf文件灵活编写)
    ansible实现template管理nginx
  • 原文地址:https://www.cnblogs.com/heikejingxiao/p/11269397.html
Copyright © 2020-2023  润新知