Day 1 CNN进阶之旅

本文介绍了如何配置Python基础环境,包括PyCharm、Python3.6和Anaconda的使用,并详细说明了在不同环境中安装OpenCV的过程。此外,还介绍了如何利用SimpleITK读取和处理CT图像。
部署运行你感兴趣的模型镜像

注:“希望通过记录的方式逐步提升自己”

配置简单的python基础环境:pycharm + python3.6(3.5 2.6)+anaconda

  1. 安装opencv
    分别在python2 python3 和 anaconda3都完成安装opencv。开始不知道如何在anaconda中使用pip安装package,后来baidu得知可以通过anac提供的prompt命令行使用pip安装(最好不要直接pip install 安装,通过whl下载文件进行安装)

  2. 读取CT mhd影像文件
    借助python提供的SimpleITK对CT图像进行读取,图像一般可以通过三维向量存储(width,heigh,rows),而CT图像则是一个连续切片图组成的三维图像,借助SimpleITK可以对图像进行分割

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### Java 高级特性 Day 04 学习教程 #### 一、继承的深入理解 继承是面向对象编程的重要特性之一,它允许子类继承父类的非私有属性和方法。通过 `extends` 关键字可以定义一个类作为另一个类的子类[^3]。 ```java class 动物 { String name; public 动物(String name) { this.name = name; } public void 喊叫() { System.out.println(name + " 发出了叫声!"); } } class 狗 extends 动物 { public 狗(String name) { super(name); } @Override public void 喊叫() { System.out.println(name + " 汪汪!"); } } ``` 上述代码展示了如何利用继承来扩展功能并重写父类中的方法。 --- #### 二、SAX 和 DOM4J 的对比分析 在处理 XML 数据时,可以选择不同的解析方式。以下是两种常见的方式及其适用场景: 1. **SAX 解析器** SAX 是一种基于事件驱动的解析技术,适合用于大规模 XML 文件的读取操作。它的特点是占用资源较少且内存消耗低[^1]。 2. **DOM4J 库** DOM4J 提供了一个强大的 API 来简化 XML 文档的操作。它是开源项目的一部分,具有高性能和丰富的功能集合。 对于小型应用或者需要频繁修改节点的情况,推荐使用 DOM4J;而对于超大文件,则更适合采用 SAX 方法进行逐行扫描。 --- #### 三、I/O 流基础回顾 Java 中 I/O 流提供了多种机制来进行数据传输与存储管理。下面是一个简单的例子展示如何从本地磁盘加载文件内容到程序内部缓冲区中去[^2]: ```java import java.io.FileInputStream; import java.io.IOException; public class FileReadExample { public static void main(String[] args) throws IOException { FileInputStream fis = null; try { byte[] buffer = new byte[1024]; // 创建输入流实例化对象 fis = new FileInputStream("example.txt"); int length; while ((length = fis.read(buffer)) != -1){ System.out.print(new String(buffer, 0 , length)); } } finally{ if(fis!=null)fis.close(); } } } ``` 此片段演示了基本文件读写的流程以及异常捕获的重要性。 --- #### 四、多线程实践案例 创建多个并发运行的任务可以通过实现 Runnable 接口或继承 Thread 类完成。这里给出一段关于设置自定义线程名的小示范[^4]: ```java package Chapter1; // 定义一个新的任务单元 class MyTask implements Runnable { private final String taskName; public MyTask(String taskName) { this.taskName = taskName; } @Override public void run() { for (int i=0;i<5;i++) { System.out.printf("%s 正在工作...第%d次\n",taskName,i+1); try {Thread.sleep((long)(Math.random()*100));} catch(Exception e){} } } } public class MultiThreadsTest { public static void main(String[] args) { Thread threadA=new Thread(new MyTask("线程 A"),"线程-A"); Thread threadB=new Thread(new MyTask("线程 B"),"线程-B"); threadA.start();threadB.start(); // 主线程等待所有子线程结束之后再退出 try{threadA.join();threadB.join();}catch(InterruptedException ie){ie.printStackTrace();} System.out.println("全部线程已完成."); } } ``` 以上代码说明了启动新线程的过程,并强调了 join 方法的作用以确保主线程不会提前终止。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值