基于Pyhton的二维离散正弦变换(DST)及其反变换(IDST)

本文介绍了二维离散正弦变换(DST)和其反变换(IDST)的概念,并通过矩阵形式展示它们的数学表达式。同时,文章提供了使用Python实现DST和IDST的示例,这些变换在图像压缩存储中具有应用价值。

1.二维离散正弦变换(DST)的矩阵形式可以表示为:


其中T为DST变换后的矩阵,I为输入矩阵,C为变换基,C的表示为:


2.二维离散正弦反变换(IDST)可以表示为:


### Python 读取二维数组并跳过空格 当处理来自文件或其他输入源的二维数组时,可能会遇到元素间存在多余空格的情况。为了有效解析这些数据,在Python中可以通过组合使用`split()`函数去除不必要的空白字符,并构建所需的二维数组结构。 对于从文本形式的数据创建二维数组的需求,下面提供了一种解决方案,该方案能够忽略掉各元素之间的任意数量的空格: ```python def read_2d_array_skip_spaces(input_string): # 将字符串按照换行分割成多行 lines = input_string.strip().split('\n') result = [] for line in lines: # 使用 split() 默认行为自动去掉多余的空格并将每行拆分为单个元素列表 cleaned_line = [item for item in line.split()] if cleaned_line: # 只添加非空行 result.append(cleaned_line) return result input_data = """ 1 2 3 4 5 6 7 8 9 """ array_result = read_2d_array_skip_spaces(input_data) print(array_result) # 输出应为 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ``` 此代码片段展示了如何定义一个名为 `read_2d_array_skip_spaces` 的函数来接收一个多行字符串作为参数,其中包含了代表二维数组的内容[^1]。通过调用 `.strip()` 方法移除首尾可能出现的额外空白之后,利用 `\n` 字符串分隔符将整个输入划分为单独的行;接着针对每一行应用默认模式下的 `split()` 函数——它会智能地识别连续的空白区域(包括但不限于空格),从而返回仅含实际数值项的新列表[^2]。最后一步则是过滤掉可能存在的完全由空白组成的无效行,确保最终的结果集中只保留有效的子列表[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值