专业程序设计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 侯伟婷
我所在的本科学校和研究生学校都有计算机科学专业和软件工程专业.具体的教学计划无从得到,所以此情况无从对比,但是我从本科教务处网站找到了计算机科学专业和软件工程专业有关专业方面的课程,现列表如下. 表格 ...
随机推荐
- 二、环境安装:yarn
依赖管理工具安装yarn 可参考前几篇文章 1.必须安装nodejs 注意:安装nodejs稳定版本 2.安装cnpm用cnpm替代npm 地址:http://npm.taobao.org/安装cnp ...
- (排序EX)P1093 奖学金
题解: #include<iostream>using namespace std;int r=0;void swap(int &a,int &b){ int t=a; ...
- 初识Golang编程语言
初识Golang编程语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Go 是年轻而有活力的语言,有网友说:"Go语言将超过C,Java,成为未来十年最流行的语言&qu ...
- 每天一点点之vue框架开发 - vue-router路由在循环中携带参数
场景:要实现一个标签云,通过循环把标签渲染,然后单击标签的时候实现跳转,跳转路由一样,通过唯一参数来实现请求不同的数据 因此,就需要在for循环中来携带参数,本节所讲的是路由使用对象的形式(别名)来实 ...
- 每天一点点之laravel框架开发 - Laravel5.6去除URL中的index.php
在项目routes/web.php文件中添加了自定义的路由后,访问localhost/index.php/aaa,可以正常访问,但是去掉index.php后,提示404 Not Found 1. 按照 ...
- node.js爱心邮件
一.用的软件是VsCode:下载地址:https://code.visualstudio.com/ 二.用的是node.js完成:下载地址:http://nodejs.cn/download/ 无脑下 ...
- (一)IOC基础推导及理论
环境准备:见java环境搭建,新建maven项目 1.写一个UserDao接口 public interface UserDao { public void getUser(); } 2.再写Dao的 ...
- POJ 1745:Divisibility 枚举某一状态的DP
Divisibility Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11001 Accepted: 3933 Des ...
- 工程日记之ChildLost(1):URLSession
URLSession 是什么 URL Loading System提供了访问URL资源的系统,提供了访问http/https/自定义URL访问的接口.其中,URLSession实例可以创建多个URLS ...
- Intellij IDEA破解方法
1.破解(参考网站) http://idea.lanyus.com/ 2. Intellij idea使用教程 https://github.com/tengj/IntelliJ-IDEA-Tutor ...