专业程序设计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 侯伟婷
我所在的本科学校和研究生学校都有计算机科学专业和软件工程专业.具体的教学计划无从得到,所以此情况无从对比,但是我从本科教务处网站找到了计算机科学专业和软件工程专业有关专业方面的课程,现列表如下. 表格 ...
随机推荐
- python画一只佩奇
用python画一只佩奇 from turtle import* def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 sethead ...
- 【剑指Offer】面试题24. 反转链表
题目 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3 ...
- Opencv调用深度学习模型
https://blog.csdn.net/lovelyaiq/article/details/79929393 https://blog.csdn.net/qq_29462849/article/d ...
- 二十八、CI框架之自己写分页类,符合CI的路径规范
一.参照了CSDN上某个前辈写的一个CI分页类,自己删删改改仿写了一个类似的分页类,代码如下: 二.我们在模型里面写2个数据查询的函数,一个用于查询数据数量,一个用于查询出具体数据 三.我们在控制器里 ...
- oo第四单元及课程总结
一.第四单元作业总结 第四单元有两次作业,第十三次作业是实现一个UML类图解析器,可以通过输入一些查询指令来查询一些类图的信息.程序的主干部分已经提供,我们的任务就是实现给出的接口,过程并不繁琐.第十 ...
- 了解OOM
1)什么是OOM? OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError.看下关于的官方说明: Thrown when ...
- Day 1:线程与进程系列问题(一)
一.进程与线程 进程:正在执行的程序称为一个线程,主要负责内存空间的划分. 线程:线程在一个进程中负责代码的执行,就是进程中的一个执行路径. 多线程:在一个进程中有多个线程同时在执行不同的任务(同时指 ...
- python脚本下载 Google Driver 文件
使用python脚本下载 Google Driver 文件 import yaml import sys import requests import os import re import tarf ...
- Java查漏补缺(3)(面向对象相关)
Java查漏补缺(3) 继承·抽象类·接口·静态·权限 相关 this与super关键字 this的作用: 调用成员变量(可以用来区分局部变量和成员变量) 调用本类其他成员方法 调用构造方法(需要在方 ...
- POJ - 2976 Dropping tests(01分数规划---二分(最大化平均值))
题意:有n组ai和bi,要求去掉k组,使下式值最大. 分析: 1.此题是典型的01分数规划. 01分数规划:给定两个数组,a[i]表示选取i的可以得到的价值,b[i]表示选取i的代价.x[i]=1代表 ...