下先学PYTHON基本语法
字典:items()
是一个常用的方法,主要用于字典(dict
)对象。它返回一个视图对象,该对象包含字典的键值对(key-value pairs)。这个视图对象可以被用来遍历字典中的所有项。
在 Python 中,keys()
是一个字典(dict
)对象的方法,用于返回字典中所有键的视图。这个视图对象可以被用来遍历字典的键,或者将其转换为列表等其他数据结构。
在 Python 中,range()
是一个内置函数,用于生成一个整数序列。这个函数通常用于循环(如 for
循环)中,以便在一定范围内迭代。
使用 range()
函数
range()
函数可以接受三个参数:start
、stop
和 step
。下面是它们的含义:
start
:序列的起始值(默认为 0)。stop
:序列的结束值(不包括该值)。step
:序列中两个数之间的步长(默认为 1)。
# 生成从 0 到 4 的整数序列
for i in range(5):
print(i)
# 生成从 2 到 6 的整数序列
for i in range(2, 7):
print(i)
# 生成从 0 到 10 的偶数
for i in range(0, 11, 2):
print(i)
字典列表就是列表里面放字典
字典列表:先创个空列表,然后把字典用append.()一个个加进去
列表字典:a={'a':['xx','bb],'b':['we','rqq']},注意是先[ ],再' '。
字典中有字典:a={'people1':{'name':'a','age';’22‘},’people2‘:{'name':'iuue','age':'213'}},也是先{ },再' '
数字图像处理
像元的位置就是数组下标,像元的亮度值就是所对应下标表示的那个值
灰度级(Grayscale Level)是指在图像处理中,用于表示图像中每个像素的亮度或灰度值的离散级别。在灰度图像中,像素的颜色值通常是从黑到白的不同灰度,通常用一个数值来表示其亮度。以下是关于灰度级的一些关键点:(灰度级越高,由黑到白变化的层次就越多)
灰度级的定义
- 灰度级是指图像中每个像素的亮度值,通常以整数形式表示。例如,常见的灰度级有 0(黑色)到 255(白色),在这种情况下,256 个不同的灰度级使得每个像素可以表示为一个 8 位二进制数。
对比度:在图像中,对比度是指亮度值的范围和差异。简单来说,它是图像中最亮的部分与最暗的部分之间的差异程度。
1. 4 邻域(4-neighborhood)
4 邻域是指一个像素的上下左右四个直接相邻的像素。在一个二维图像中,对于一个像素 (x,y)(x,y),其 4 邻域的像素坐标为:
- (x−1,y)(x−1,y) (上方)
- (x+1,y)(x+1,y) (下方)
- (x,y−1)(x,y−1) (左方)
- (x,y+1)(x,y+1) (右方)
特点:
- 4 邻域只考虑直接相邻的像素,不包括对角线方向的像素。
- 在某些情况下,4 邻域可以有效地捕捉图像中的结构。
2. D 邻域(D-neighborhood)
D 邻域是一个更广泛的概念,通常指的是一个像素周围的所有相邻像素,包括对角线方向的像素。在一个二维图像中,对于一个像素 (x,y)(x,y),其 D 邻域的像素坐标为:
- (x−1,y−1)(x−1,y−1) (左上方)
- (x−1,y)(x−1,y) (上方)
- (x−1,y+1)(x−1,y+1) (右上方)
- (x,y−1)(x,y−1) (左方)
- (x,y)(x,y) (中心像素)
- (x,y+1)(x,y+1) (右方)
- (x+1,y−1)(x+1,y−1) (左下方)
- (x+1,y)(x+1,y) (下方)
- (x+1,y+1)(x+1,y+1) (右下方)
特点:
- D 邻域包括了 4 邻域的所有像素,并增加了对角线方向的像素。
- D 邻域可以提供更多的上下文信息,有助于更复杂的图像处理任务。
降低图像对比度:
enhance()
是 PIL
(Pillow)库中 ImageEnhance
模块的一个方法,用于调整图像的某种特性,比如对比度、亮度、颜色和清晰度等。具体来说,enhance()
方法可以根据传入的因子值来增强或减弱图像的特性。
enhance()
方法的基本用法
语法
ImageEnhance.Contrast(image).enhance(factor)
参数
- factor: 一个浮点数,表示增强的因子。
factor = 1.0
:图像特性保持不变。factor < 1.0
:减少特性(例如,降低对比度)。factor > 1.0
:增强特性(例如,增加对比度)。
返回值
- 返回经过增强处理后的图像对象。
- # 创建对比度增强对象 enhancer = ImageEnhance.Contrast(img)
- # 原图对比度因子 original_contrast = enhancer.enhance(1.0) # 原图,不改变对比度
- #降低对比度 low_contrast = enhancer.enhance(0.5) # 降低对比度
- # 增加对比度 high_contrast = enhancer.enhance(1.5) # 增加对比度
会使用了用opencv对图片的缩放和放大。
下图为缩小一半,以及使用缩放因子来指定图像的放大或缩小比例。缩放因子是一个浮点数,表示相对于原图的比例。例如,缩放因子为0.5表示缩小到一半,缩放因子为2表示放大两倍。
import cv2
2
3# 读取图像
4image_path = r'D:\study pic\down.jpg'
5image = cv2.imread(image_path)
6
7# 检查是否成功读取图像
8if image is None:
9 print("Could not read the image.")
10else:
11 # 获取图像尺寸
12 height, width = image.shape[:2]
13
14 # 缩小图像尺寸为原来的一半
15 resized_image = cv2.resize(image, (int(width/2), int(height/2)))
16
17 # 显示原图和缩小后的图像
18 cv2.imshow('Original Image', image)
19 cv2.imshow('Resized Image', resized_image)
20
21 # 等待按键,然后关闭窗口
22 cv2.waitKey(0)
23 cv2.destroyAllWindows()
import cv2
2
3# 读取图像
4image_path = r'D:\study pic\down.jpg'
5image = cv2.imread(image_path)
6
7# 检查是否成功读取图像
8if image is None:
9 print("Could not read the image.")
10else:
11 # 获取图像尺寸
12 height, width = image.shape[:2]
13
14 # 缩放因子
15 scale_factor = 2.0 # 放大两倍
16
17 # 使用缩放因子来调整图像尺寸
18 resized_image = cv2.resize(image, None, fx=scale_factor, fy=scale_factor)
19
20 # 显示原图和放大后的图像
21 cv2.imshow('Original Image', image)
22 cv2.imshow('Resized Image', resized_image)
23
24 # 等待按键,然后关闭窗口
25 cv2.waitKey(0)
26 cv2.destroyAllWindows()
结束今天的学习,尝试先把代码看懂。