专业程序设计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 侯伟婷
我所在的本科学校和研究生学校都有计算机科学专业和软件工程专业.具体的教学计划无从得到,所以此情况无从对比,但是我从本科教务处网站找到了计算机科学专业和软件工程专业有关专业方面的课程,现列表如下. 表格 ...
随机推荐
- 吴裕雄--天生自然C++语言学习笔记:C++ 多线程
多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序.一般情况下,两种类型的多任务处理:基于进程和基于线程. 基于进程的多任务处理是程序的并发执行. 基于线程的多任务处理 ...
- IT日常技能:VMware网络配置
1.0 基本概念 集线器:把一流量为M的端口分为N个端口,每个端口流量为M/N 交换机:把一流量为M的端口分为N个端口,每个端口流量仍为M 路由器:相当于两块网卡,一块连接外网并负责NAT, 另一块负 ...
- python -- 犯过的错之变量作用域
1.写代码时发现取得变量值,会被覆盖,改为图二的写法后case_id则不会覆盖. 原因:可以理解为变量是内存中一个对象的“引用”.在函数参数传值时,变量也是内存对象的引用. 当对象为可更改对象时,是引 ...
- UVA - 10689 Yet another Number Sequence (矩阵快速幂求斐波那契)
题意:已知f(0) = a,f(1) = b,f(n) = f(n − 1) + f(n − 2), n > 1,求f(n)的后m位数. 分析:n最大为109,矩阵快速幂求解,复杂度log2(1 ...
- React + umi +antd+antv/g6 实现力图
官方示例效果:http://antv.alipay.com/zh-cn/g6/2.x/demo/net/2017-link-data.html 改编效果: 实现步骤: 环境:nodejs.yarn/n ...
- 吴裕雄--天生自然TensorFlow2教程:张量排序
import tensorflow as tf a = tf.random.shuffle(tf.range(5)) a tf.sort(a, direction='DESCENDING') # 返回 ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习:作用域
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- PAT Advanced 1003 Emergency (25) [Dijkstra算法]
题目 As an emergency rescue team leader of a city, you are given a special map of your country. The ma ...
- 51nod 1393:0和1相等串
1393 0和1相等串 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等. I ...
- POJ 1017:Packets
Packets Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 47513 Accepted: 16099 Descrip ...