专业程序设计part1
7 专业程序设计
(有多少人在大学里学到了自己真正喜欢的专业??并在此专业上获得了升华??)i==
软件图标下载网址:easyicon
01thu
4邻域 8邻域 D邻域 是啥
像素间的连通性,是转为矢量数据的重要依据(分为8联通/4连通,03SAT计算机图形学上提到,密集用8,凸显尖锐用4,但为啥?又没听到md)
任何图像文件都具有头文件吗?
typedef struct 定义数据结构
传感器放四个波段,一般是红绿蓝黄??。。。。七个波段的第一个像素
bsq bip bil 三种数据存储结构envisatSAR 存复数
中值滤波对椒盐噪声很管用
非监督分类KMEAN
和机器学习里的非监督分类差别,不是函数,是几何形式,找质心相同点,也是先随机选取再进行迭代
上面无非是举了一些专业程序功能设计要解决的问题的例子,,
02 tue
计算机窗口的坐标从左上角开始





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


checkchanged触发事件。修改enable属性,有个问题,checkchanged是争对所有的check键吗???逻辑问题,你再想想,不是,你跳出那个思维,想不通自己盯着代码自己想,只有在rgbchecked时,enable是true 其他都是false,so easy
加载图像→框→
dll,动态链接库 bin binary debug 调试 版本
类:成员属性和成员方法
面向对象,函数重载概念,函数名一样,参数不同

类实例化对象


可不打具体路径
弹出对话框



注意大小写敏感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.以图像的中心点旋转,
屏幕坐标→数学坐标→旋转坐标(矩阵)
注意角度和弧度的关系,计算机图形学里也有


预先加备选值
(设定下拉框的值,把下拉框选中的值赋给文本框算法)
数学方法呃你看着看吧
04THU
1.弹出旋转窗口
2.设定局部全局变量

在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要在另一栏中设定可选值,事件写完之后,写练习,
专业程序设计part1的更多相关文章
- 专业程序设计part2
05tue 乘以1.0使得int*int!=0 today:缩放 和计算机图形学关联 已知:currentdataset ask for:两个方向的缩放比例.保存路径.重采样方法(necessary) ...
- 学习 Civil 3D二次开发从哪儿开始?
1.1 从哪儿开始 对于多数的工程设计人员,不完全具备上节所述的各种条件.对于Civil 3D的应用可能比较熟悉:但对于计算机语言,只限于上学时所学的一点基础知识,步入工作岗位后与计算机语言基本无缘: ...
- java和C和C++关系
java和C以及C++ 直接关联,java继承了C的语法,java的对象模型是从C++改编而来的.java和C以及C++关系之所以重要,下面几个就是原因: ①如果一个程序员熟悉C以及C++语法,那么他 ...
- 应用gis笔记
接口,开发包??我要做一个移动端的,完了之后和5G挂一下钩, web/桌面/移动 C#就是.NET.... 和专业程序设计课程的区别 a kind of boring hope it helpful, ...
- 薛非《品悟C-抛弃C程序设计中的谬误与恶习》读后感part1【转】
薛非<品悟C-抛弃C程序设计中的谬误与恶习>读后感part1 作者:宝贝孙秀楠﹣大连程序员 发表于2012年10月5日由admin 出处:http://sunxiunan.com/?p=2 ...
- 2016-2017-2 《Java程序设计》预备作业2总结
2016-2017-2 <Java程序设计>预备作业2总结 古希腊学者普罗塔戈说过:「头脑不是一个要被填满的容器,而是一束需要被点燃的火把.」 在对计算机系的学生情况的调查中,我说: 最近 ...
- 2016-2017-2 《Java程序设计》预备作业1 总结
2016-2017-2 <Java程序设计>预备作业1 总结 预备作业01:你期望的师生关系是什么见https://edu.cnblogs.com/campus/besti/2016-20 ...
- 积极主动敲代码,使用Junit学习Java程序设计
积极主动敲代码,使用JUnit学习Java 早起看到周筠老师在知乎的回答软件专业成绩很好但是实际能力很差怎么办?,很有感触. 从读大学算起,我敲过不下100本程序设计图书的代码,我的学习经验带来我的程 ...
- 第一章-第五题(你所在的学校有计算机科学专业和软件工程专业么?相关专业的教学计划和毕业出路有什么不同?阅读有关软件工程和计算机科学的区别的文章,谈谈你的看法。)--By 侯伟婷
我所在的本科学校和研究生学校都有计算机科学专业和软件工程专业.具体的教学计划无从得到,所以此情况无从对比,但是我从本科教务处网站找到了计算机科学专业和软件工程专业有关专业方面的课程,现列表如下. 表格 ...
随机推荐
- 五十一、SAP中使程序结构化,模块化
一.我们创建3个引用单元,这3个单元里面分别存放定义相关,执行相关和子程序相关的内容 二.将程序中的各部分都拆分到INCLUDE文件中,DEF文件内容如下 三.INC文件内容 四.MAIN文件中写程序 ...
- 026-PHP常用字符串函数(三)
<?php //颠倒字串 print("abcdefg 颠倒 "); print(strrev("abcdefg")."<hr>&q ...
- List实体类、DataTable与xml互转
序列化常用Attribute讲解说明 [XmlRootAttribute("MyCity", Namespace="abc.abc", IsNullable=f ...
- CentOS7上防火墙操作
firewalld打开关闭防火墙与端口 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl statu ...
- Linux下C程序的内存映像
2.Linux下C程序的内存映像 2.1. 代码段.只读数据段(1)对应着程序中的代码(函数),代码段在Linux中又叫文本段(.text)(2)只读数据段就是在程序运行期间只能读不能写的数据,con ...
- C# Socket编程入门
一直没有触及到这一块儿,学习下 在看一个小demo https://www.cnblogs.com/yy3b2007com/p/7476458.html
- IDEA的一些常用设置
一.给方法之间添加分割线 效果: 二.自动导包 三.字体以及大小和行间距 四.注释的字体颜色 五.项目编码 六.省点模式(开启省点模式后会取消代码检查和提示等,需要注意) 七.代码垂直或者水平分区显示 ...
- python----linux下简单的排序
1.选择排序:把一个数与余下所有的数排序,最小的排到最前面 [root@besttest liyn_test]# cat test.py #! /usr/bin/python a=[,,,] ,len ...
- 递归(VBA实现)
案列: 给定n个数,取任意g个数之和等于h的组合. 采用递归的方式实现: Option Explicit Dim arr1(1 To 10000, 1 To 1) As String Dim k, g ...
- Maven:Failure executing javac, but could not parse the error:javac: 无效的目标发行版: 1.8
eclipse中对着项目maven——>>maven install时出现错误:Failure executing javac, but could not parse the error ...