我想升级我的 python 版本(在本例中升级到 3.10),因此在安装 python3.10 之后,我继续尝试添加一些我使用的模块,例如 opencv ,这遇到了:
jeremy@jeremy-Blade:~$ python3.10 -m pip install opencv-python
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/usr/lib/python3/dist-packages/pip/__main__.py", line 16, in <module>
from pip._internal.cli.main import main as _main # isort:skip # noqa
File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 10, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
from …Run Code Online (Sandbox Code Playgroud) 在尝试编译 python 3.7 时,我点击了Could not import runpy module:
jeremyr@b88:$ wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
....
jeremyr@b88:~/Python-3.7.3$ ./configure --enable-optimizations
jeremyr@b88:~/Python-3.7.3$ make clean
jeremyr@b88:~/Python-3.7.3$ make -j32
....
gcc -pthread -Xlinker -export-dynamic -o Programs/_testembed Programs/_testembed.o libpython3.7m.a -lcrypt -lpthread -ldl -lutil -lm
./python -E -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
echo "generate-posix-vars failed" ; \
rm -f ./pybuilddir.txt ; \
exit 1 ; \
fi
Could not import runpy module
Traceback (most recent call last):
File "/home/jeremyr/Python-3.7.3/Lib/runpy.py", line …Run Code Online (Sandbox Code Playgroud) 我想在某些单独的(x,y)点上使用与在cv2.warpAffine图像上使用的相同的仿射矩阵M。看来cv2.transform是要走的路。当我尝试发送Nx2的点矩阵时,我感到很沮丧(
src = np.array([
[x1,y1],[x2,y2],[x3,y3],[x4,y4]], dtype = "float32")
print('source shape '+str(src.shape))
dst=cv2.transform(src,M)
cv2.error: /home/jeremy/sw/opencv-3.1.0/modules/core/src/matmul.cpp:1947: error: (-215) scn == m.cols || scn + 1 == m.cols in function transform
Run Code Online (Sandbox Code Playgroud)
我可以使用numpy算术获得所需的转换:
dst = np.dot(src,M[:,0:2]) +M[:,2]
print('dest:{}'.format(dst))
Run Code Online (Sandbox Code Playgroud)
但是想了解发生了什么。文档说cv2.transform想要的通道数等于M中的列数,但我不清楚通道是什么-也许是'x'通道和'y'通道,但是第三个通道是,不同的行表示什么?
在使用python的opencv中-如何创建新图像,该图像只是其他图像中roi的副本?肯定有一些类似的东西
Mat roi = img( Rect(x,y,w,h) );
Run Code Online (Sandbox Code Playgroud)
用于python或比蛮力更优雅的东西
rect=[x,y,w,h]
img = cv2.imread(subst)
roi= np.zeros((rect[3],rect[2],3),np.uint8) #is this really reversed? who ordered that?
cv2.rectangle(img,(x,y),(w+x,h+y),[255,0,0],thickness=1)
cv2.imshow('img',img)
cv2.waitKey()
#cv.Copy(cv.fromarray(img),cv.fromarray(roi),cv.fromarray(mask)) #can't make it work...
for x in range(rect[2]):
for y in range(rect[3]):
roi[y,x,:]=img[y+rect[1],x+rect[0],:]
Run Code Online (Sandbox Code Playgroud)
顺便说一句,x,y的坐标顺序如何?[x,y,c]或[y,x,c]是在x(水平)和y(垂直)处指定点?似乎它的[y,x,c]是iiuc,而cv2.rectangle是(x,y)而img.shape是(y,x),它甚至比(g,r,b)还要烦人的(r,g,b)....
我正在尝试将我的 docker 存储目录设置为默认值以外的目录,这是我在其他机器上所做的:
/etc/docker/daemon.json:
{
"data-root": "/mnt/x/y/docker_data"
}
Run Code Online (Sandbox Code Playgroud)
存储目录的位置
jeremyr@snorble:~$ ls -ltr /mnt/x/y
total 4
drwxrwxrwx 11 jeremyr 5001 122 Mar 19 08:14 docker_data
Run Code Online (Sandbox Code Playgroud)
使用 daemon.json 文件,sudo systemctl restart docker 点击Job for docker.service failed(没有那个 daemon.json,docker 重新启动并正常docker run hello-world运行)。使用 daemon.json, journalctl -xn显示
Mar 25 14:20:33 bolt88 systemd[1]: docker.service start request repeated too quickly, refusing to start.
Mar 25 14:20:33 bolt88 systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- …Run Code Online (Sandbox Code Playgroud) python ×4
opencv ×2
debian ×1
distutils ×1
docker ×1
gcc ×1
numpy ×1
python-3.7 ×1
python-3.x ×1
runpy ×1