Python: scikit-image 图像的基本操作

这个用例说明Python 的图像基本运算

import numpy as np
from skimage import data
import matplotlib.pyplot as plt

camera = data.camera()
# 将图像前面10行的值赋为0
camera[:10] = 0
# 寻找图像中像素值小于87的像素点
mask = camera < 87
# 将找到的点赋值为255
camera[mask] = 255
# 建立索引
inds_x = np.arange(len(camera))
inds_y = (4 * inds_x) % len(camera)
# 对应索引的像素赋值为0
camera[inds_x, inds_y] = 0

# 获取图像的行数(高),列数(宽)
l_x, l_y = camera.shape[0], camera.shape[1]
# 建立网格坐标索引
X, Y = np.ogrid[:l_x, :l_y]
# 生成圆形的网格坐标
outer_disk_mask = (X - l_x / 2)**2 + (Y - l_y / 2)**2 > (l_x / 2)**2
# 对网格坐标赋0
camera[outer_disk_mask] = 0

# 建立figure的尺寸比例
plt.figure(figsize=(4, 4))
# 显示图像
plt.imshow(camera, cmap=‘gray‘, interpolation=‘nearest‘)
# 关掉图像的坐标
plt.axis(‘off‘)
plt.show()

参考来源: http://scikit-image.org/docs/dev/auto_examples/

时间: 2024-12-18 01:31:54

Python: scikit-image 图像的基本操作的相关文章

Python对DICOM图像进行阈值分割

Python对Dicom图像进行处理,离不开pydicom,opencv-python,matplotlib,numpy四个代码库,安装完成这四个代码库后, 可以读取Dicom图像,并对图像进行处理,显式处理后的结果,下面就举例说明: import cv2 import numpy import dicom from matplotlib import pyplot as plt # 读取单张Dicom图像 dcm = dicom.read_file("../Data/vhm.420.dcm&q

MATLAB中图像的基本操作

MATLAB中图像的基本操作 1.读取.显示图片 MATLAB中提供了immread()与imshow()函数读取和显示图片.其中读取函数imread()原型: imread: A = imread(filename, fmt) A是结构体名,用来存储读入的图像数据.filename是读取的文件名,文件名要用”括起来.fmt是读取文件的类型如:jpg.png等等,这个参数可以不输入,由MATLAB自动判断. 显示函数imshow()原型: imshow: imshow(I) I为读取后保存在MA

Matlab基础:关于图像的基本操作

-- %% 学习目标:学习关于图像的基本操作 %% 通过抖动来增强图像的的色彩对比度 clear all; close all; I = imread('cameraman.tif');%读取灰度图像 BW = dither(I);%通过抖动转换为二值图像来增强图像的色彩对比度 subplot(1,2,1);%将多个图片显示在同一个窗口,subplot(m,n,p). imshow(I); subplot(1,2,2); imshow(BW); %% 获取图像信息 clear all; clos

OpenCV2学习笔记(一):图像的基本操作

一直没有一个系统的时间来深入学习OpenCV,鉴于项目需要,记录一下一些要点以供日后查阅. OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.其1.0版本于2006年面世,而在2009年又发布了重要的版本:OpenCV2,带来了新的C++接口:现在,OpenCV3也发布了,据说其Python接口大大增强.并且加入了Python 3.x的支持,还带来了许多新的提升,不过这并不在这里的讨论范围之内.这里使用的是:OpenCV2.4.

Python中集合(set)的基本操作以及一些常见的用法

Python除了List.Tuple.Dict等常用数据类型外,还有一种数据类型叫做集合(set),集合的最大特点是:集合里边的元素是不可重复的并且集合内的元素还是无序的,所以一般情况下集合常用的两个场景是:1.去重(如:列表去重):2.关系测试(如:取交集.取并集.取差集等) 1)集合包含一组无序的对象,可以使用set()函数来像下边的方式一样来创建集合 #!/usr/bin/env python # -*-coding:UTF-8 -*- #创建一个数值集合 set1 = set([1,2,

python二维图像输出操作大全(非常全)!

//2019.07.141.matplotlib模块输出函数图像应用时主要用的是它的ptplot模块,因此在导入使用该模块时可以直接用以下语句:import matplotlib.pyplot as plt2.matplotlib模块输出图线时它得到坐标轴数值以及标题正常默认是英文形式,而如果需要在转换成为中文形式并且需要正常输出负号则需要用以下两句python语句设置一下,这样便可以正常输出中英文两种形式标题与带负号的坐标数值:plt.rcParams["font.sans-serif&quo

27 python 定义 列表 序列的基本操作 序列的分片

第一课 定义 列表 # 列表和元组 ---- 序列 # 序列:是数据元素的集合,数据元素可以是数值.字符串.布尔类型.对象等. # 序列的类型:列表和元组 # 列表: 把一组值简单的放在一起的一种方式 和数组类似 name = "Bill" names = ["Bill", "Mary", "John"] values = ["Bill", True, False, 10,20.5,[1,2,3,4,5]]

Python OpenCV 实现图像滤波

一.实验过程 我使用的是python语言+openCV来实现图像滤波. 使用imread()函数读取图片,使用imshow()函数显示图片,waitKey()函数含义为按下任意键继续: 代码示例: img = cv2.imread("photo1.bmp") cv2.imshow("img",img) cv2.waitKey(0) 结果: 我们可以用pil来实现在图片上显示文字,首先先安装pillow 实例代码: #cv2和PIL中颜色的hex码的储存顺序不同,需转

Python+OpenCV实现图像边缘提取、图像滤波功能

在Jupyter Notebook上使用Python实现下述代码的边缘提取.图像滤波功能,这个过程中实现某些功能处理出来的图像可能会有点粗糙.关于opencv库的安装可以参考:Python下opencv库的安装过程与一些问题汇总. 一.边缘提取 import cv2#导入opencv库 #读取原灰度图片 image=cv2.imread("test.bmp") cv2.imshow("image", image)#将原图片命名为“image”显示出来 #图像的阈值分