基本上我想实施BSC。将照片更改为位,其中一些更改并创建新图像。我遇到的问题是我得到了相同的图像。我已经放了一些print()语句来查看error()是否有效,看起来是这样的。这是我的代码:
import numpy as np
import random as rand
# Seed
rand.seed(4)
# Filenames
in_name = 'in_img.png'
out_name = 'out_img.png'
# Into bits
in_bytes = np.fromfile(in_name, dtype="uint8")
in_bits = np.unpackbits(in_bytes)
data = list(in_bits)
# BSC
def error(x):
p = 0.1
is_wrong = rand.random() < p
if is_wrong:
if x == 1:
return 0
else:
return 1
else:
return x
for i in data:
i = error(i)
# To PNG
out_bits = np.array(data)
out_bytes = np.packbits(out_bits)
out_bytes.tofile(out_name)
答案 0 :(得分:0)
虽然你的代码中的问题似乎与kazemakase在注释中指出的一样重复,但你的代码首先不应该使用这样的循环和Python #nav{
float:right;
}
#nav > ul > li {
display:inline-block;
list-style:none;
vertical-align:top;
}
#nav > ul > li > ul{
display:none;
position:absolute;
width:100%;
}
。对于<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="nav">
<ul>
<li>
Item 1
</li>
<li>
Item 2
<ul>
<li>Sub Item 1</li>
<li>Sub Item 2</li>
</ul>
</li>
<li>
Item 3
<ul>
<li>Sub Item 1</li>
<li>Sub Item 2</li>
</ul>
</li>
<li>
Item 4
<ul>
<li>Sub Item 1</li>
</ul>
</li>
</ul>
</div>
,通常会尝试将尽可能多的循环推送到numpy数据类型中。
list