我试图以整数格式而不是(R,G,B)格式指定图像的颜色.我认为我必须在模式"I"中创建一个图像,因为根据文档:
图像的模式定义图像中像素的类型和深度.当前版本支持以下标准模式:
- 1(1位像素,黑白,每字节存储一个像素)
- L(8位像素,黑白)
- P(8位像素,使用调色板映射到任何其他模式)
- RGB(3x8位像素,真彩色)
- RGBA(4x8位像素,带透明蒙版的真彩色)
- CMYK(4x8位像素,分色)
- YCbCr(3x8位像素,彩色视频格式)
- 我(32位有符号整数像素)
- F(32位浮点像素)
然而,这似乎是一个灰度图像.这是预期的吗?有没有办法根据32位整数指定彩色图像?在我的MWE中,我甚至让PIL决定如何将"红色"转换为"I"格式.
from PIL import Image
ImgRGB=Image.new('RGB', (200,200),"red") # create a new blank image
ImgI=Image.new('I', (200,200),"red") # create a new blank image
ImgRGB.show()
ImgI.show()
Run Code Online (Sandbox Code Playgroud) 按照标准规定:
match_prev_avail:--first是有效的迭代器位置。设置后,将忽略match_not_bol和match_not_bow
但是我运行以下代码并得到:
#include <regex>
#include <iostream>
using namespace std;
int main()
{
regex re0("^bcd");
string str = "abcd";
std::string::iterator start = str.begin() + 1;
cout << regex_search(start, str.end(), re0, regex_constants::match_not_bol) << endl;
cout << regex_search(start, str.end(), re0, regex_constants::match_prev_avail) << endl;
cout << regex_search(start, str.end(), re0, regex_constants::match_prev_avail | regex_constants::match_not_bol) << endl;
}
Run Code Online (Sandbox Code Playgroud)
输出:
0
1
0
Run Code Online (Sandbox Code Playgroud)
似乎已match_prev_avail被覆盖match_not_bol。
在 中gdb,我们可以使用它layout src来获得一个非常好的调试文本 UI。pdb(Python 调试器)有等效的东西吗?在 中pdb,我只能看到将要执行的下一行,这很烦人。
gdb text ui如下图所示:
如果我有一个带有setup.py, in的目录pip,我可以pip install .在该目录中安装包。
如果我正在使用conda怎么办?
conda install .使conda找到一个名为 dot 的包。
我正在使用numpy.
我有一个形状为[T,H,W,C]的ndarray,我想把它转换为:[T,C,H,W].但是,这个阵列非常庞大,我想要节省内存.
但我发现np.transpose这样做并非就地.
为什么这样的操作np.transpose没有就地对应?
我以前认为任何命名的操作np.Bar都会以其原位对应命名np.Bar_,但却发现这不是事实.
例如,通过git diff file,我们可以知道我们删除了3行,插入了1行,修改了3行。但 git 如何实现呢?它会跟踪我的编辑过程吗?vim 是否会留下一些特殊的文件供 git 来实现?
我的意思是,如果我修改了一行,我也可以说我删除了一行并插入了一行。git 如何知道我修改了这一行而不是进行删除和插入?