草庐IT

cv2.imshow

全部标签

python - Matplotlib imshow 缩放功能?

我有几张(27)以二维数组表示的图像,我正在使用imshow()查看它们。我需要放大每张图像中完全相同的位置。我知道我可以手动缩放,但这很乏味且不够精确。有没有办法以编程方式指定要显示的图像的特定部分而不是整个图像? 最佳答案 您可以使用plt.xlim和plt.ylim来设置要绘制的区域:importmatplotlib.pyplotaspltimportnumpyasnpdata=np.arange(9).reshape((3,3))plt.imshow(data)plt.xlim(0.5,1.5)plt.ylim(0.5,1.

Python+OpenCV : cv2. 写入

我正在尝试检测人脸并将人脸区域写在单独的文件中。我该怎么做?我认为我必须使用“面孔”(你可以在代码中看到这个var)。但是怎么做呢?fromffnetimportmlgraph,ffnet,tmlgraph,imlgraphimportpylabimportsysimportcv,cv2importnumpycascade=cv.Load('C:\opencv\data\haarcascades\haarcascade_frontalface_alt.xml')defdetect(image):bitmap=cv.fromarray(image)faces=cv.HaarDetectO

python - Pickling cv2.KeyPoint 导致 PicklingError

我想在给定目录中的所有图像中搜索冲浪,并保存它们的关键点和描述符以供将来使用。我决定使用pickle,如下所示:#!/usr/bin/envpythonimportosimportpickleimportcv2classFrame:def__init__(self,filename):surf=cv2.SURF(500,4,2,True)self.filename=filenameself.keypoints,self.descriptors=surf.detect(cv2.imread(filename,cv2.CV_LOAD_IMAGE_GRAYSCALE),None,False)

python - 为什么 cv2.imwrite() 会改变图片的颜色?

我有以下代码:imgs=glob.glob('/home/chipin/heart/tray.png')current_img=io.imread(imgs[0])cv2.imwrite('/home/chipin/heart/01.png',current_img[0:511,0:511])图片大小为512*512,保存后蓝色图片变为黄色。似乎放弃了一个channel。我真的不知道为什么。这是current_img的值: 最佳答案 您的问题在于skimage.io.imread将图像加载为RGB(或RGBA),但OpenCV假定图

python - 带有opencv 3.0的cv2中的KNN train()

我正在尝试使用cv2(python2.7)和opencv3.0运行k最近邻。我使用http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_knn/py_knn_understanding/py_knn_understanding.html之类的代码复制了相同的错误消息:importcv2importnumpyasnpimportmatplotlib.pyplotasplt#Featuresetcontaining(x,y)valuesof25known/trainingdatatrainData=np.random.randi

python - 如何从 Python cv2、scikit 图像和 mahotas 中的 Internet URL 读取图像?

如何在Pythoncv2中从InternetURL读取图像?这个Stack Overflowanswer,importcv2.cvascvimporturllib2fromcStringIOimportStringIOimportPIL.Imageaspilurl="some_url"img_file=urllib2.urlopen(url)im=StringIO(img_file.read())不好,因为Python向我报告了:TypeError:object.__new__(cStringIO.StringI)isnotsafe,usecStringIO.StringI.__new

python - 如何使用表示 matplotlib 中的原始数据的颜色条绘制对数归一化 imshow 图

我正在使用matplotlib绘制对数归一化图像,但我希望原始原始图像数据在颜色栏中而不是[0-1]间隔中表示。我觉得有一种更matplotlib'y的方式来做到这一点,通过使用某种标准化对象而不是事先转换数据......在任何情况下,原始图像中可能存在负值。importmatplotlib.pyplotaspltimportnumpyasnpdeflog_transform(im):'''returnslog(image)scaledtotheinterval[0,1]'''try:(min,max)=(im[im>0].min(),im.max())if(max>min)and(m

python - 不规则 X Y Z 数据的等高线/imshow 图

我有X、Y、Z格式的数据,其中所有数据都是一维数组,Z是坐标(X,Y)处的测量幅度。我想将此数据显示为等高线或“imshow”图,其中等高线/颜色代表Z值(幅度)。用于测量和X和Y外观的网格是不规则间隔的。非常感谢,len(X)=100len(Y)=100len(Z)=100 最佳答案 plt.tricontourf(x,y,z)是否满足您的要求?它将为不规则间隔的数据(非直线网格)绘制填充轮廓。您可能还想查看plt.tripcolor()。importnumpyasnpimportmatplotlib.pyplotaspltx=n

python - 类型错误 : Invalid dimensions for image data when plotting array with imshow()

如下代码#NumericaloperationSN_map_final=(new_SN_map-mean_SN)/sigma_SN#Plotfigurefig12=plt.figure(12)fig_SN_final=plt.imshow(SN_map_final,interpolation='nearest')plt.colorbar()fig12=plt.savefig(outname12)new_SN_map是一维数组,mean_SN和sigma_SN是常量,我收到以下错误。Traceback(mostrecentcalllast):File"c:\Users\Valentin\

python - 在 matplotlib imshow 中调整网格线和刻度线

我正在尝试绘制一个值矩阵,并希望添加网格线以使值之间的边界更清晰。不幸的是,imshow决定将刻度线定位在每个体素的中间。有没有可能a)移除勾号,但将标签保留在同一位置,并且b)在像素边界之间添加网格线?importmatplotlib.pyplotaspltimportnumpyasnpim=plt.imshow(np.reshape(np.random.rand(100),newshape=(10,10)),interpolation='none',vmin=0,vmax=1,aspect='equal');ax=plt.gca();ax.set_xticks(np.arange(