Python语言】python语言 chass Graph_Matrix: 运行显示 in 是什么情况呀?

2020-04-02 13:35发布

1条回答
Anonyem
2楼 · 2020-09-02 09:36


透视变换实现鸟瞰图




 



fromimutilsimportperspective

fromskimage.filtersimportthreshold_local

importcv2

importimutils

importnumpyasnp


#边缘扫描

image=cv2.imread("chass2.jpeg")

w=image.shape[0]

h=image.shape[1]

ratio=image.shape[0]/500.0#比例

orig=image.copy()

image=imutils.resize(image,height=500)


#灰度转换及边缘查找

gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

gray=cv2.GaussianBlur(gray,(5,5),0)

edged=cv2.Canny(gray,75,200)#边缘检测


#只保留轮廓

cnts=cv2.findContours(edged.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)#通过边缘图像找到轮廓

cnts=cnts[0]ifimutils.is_cv2()elsecnts[1]#用以区分OpenCV2.4和OpenCV3

cnts=sorted(cnts,key=cv2.contourArea,reverse=True)[:5]#保留最大轮廓


forcincnts:

peri=cv2.arcLength(c,True)

approx=cv2.approxPolyDP(c,0.01*peri,True)#轮廓点

iflen(approx)==4:#表明找到四个轮廓点

screenCnt=approx

break



point1=screenCnt.reshape(4,2).astype(np.float32)

#point2=np.array([[0,0],[0,420],[297,420],[297,0]],dtype="float32")

point2=np.array([[104,58],[104,478],[401,478],[401,58]],dtype="float32")


#实际坐标点和提取的角点必须一一对应呀,

#point1=np.array([[308,230],[500,230],[308,640],[500,640]],dtype="float32")

#point2=np.array([[308,230],[500,230],[155,30],[835,30]],dtype="float32")

M=cv2.getPerspectiveTransform(point1,point2)

out_img=cv2.warpPerspective(image,M,(image.shape[0],700))

dst=cv2.perspectiveTransform(point2.reshape(1,4,2),M)



cv2.imshow("Original",image)

cv2.imshow("Scanned",cv2.resize(out_img,(image.shape[0],700)))

cv2.waitKey(0)


关键点是point2是实际世界中的坐标


 


 


 


 


相关问题推荐

  • 回答 9

    Python可以说是这几门著名语言里最易理解的了,这就是Python的优点之一,相比较其他语言,PHP,Java,C C++ C#这些语言,

  • 回答 19

    学测试吧,简单容易些

  • 回答 16

    第一语言现在还是java比较好找工作,第二语言学Python或者是go语言都可以了解一下

  • 回答 10

    一、模块介绍1. 定义:模块:本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test)用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能)2. 语法:• import 语句当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。...

  • 回答 1

    PythonPython是一种面向对象的解释型计算机程序设计语言,具有丰富强大的库,常被称为胶水语言,能够把其他语言制作的各种模块轻松链接在一起。因此Python具有:简单易学、数据分析能力强的特点。很多科学家都会自学Python,进行科研数据分析,由此可见Python...

  • 回答 3

    1、简单;2、易学;3、免费开源;4、自动内存管理;5、可以移植;6、解释性;7、面向对象;8、可扩展;9、丰富的第三方库

  • 回答 1

    人工智能是未来发展的一种趋势,也是当下非常流行的行业,是一门包含十分广泛的科学,由不同的领域组合而成,比如说机器学习、计算机视觉等等,研究人工智能涉及的方方面面是非常复杂的,那么为什么说做人工智能使用python比较好呢?1、Python遵循简单、优雅...

  • 回答 2

    Python 是脚本语言,也就是中间件语言,其内核仍然百是纯 c 的性能表达的,而主要性能消耗在脚本的实时编译上。度而对比c,同样的功能,python可以表达比c更加精炼,当然牺牲了一些性能。如果确实对某知个模组性能不满意,还可以使用 c 编写 Python 模块为其...

  • 回答 3

    1、使用Python进行通用应用程序编程您可以使用Python创建命令行和跨平台GUI应用程序,并将它们部署为自包含的可执行文件。虽然Python不具有从脚本生成独立二进制文件的本机能力,但是可以使用诸如cx_Freeze和PyInstaller之类的第三方包来实现这一点。2、使用P...

  • 回答 3

     ⑴作为初学python的科班出身的小白,python非常简单,非常适合人类阅读。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。  ...

  • 回答 10

    原因一、Python是一种 面向对象的语言谁说程序员找不着对象?在Python里分分钟就可以写个新对象,不喜欢的话甚至还能删掉呢。编程语言两个非常重要的概念,即面向对象与面向过程。举个栗子,当你想吃火锅了,你有两个方式:1、自己出门去菜市场,讲价,买粉...

  • 回答 5
    已采纳

    自学比较慢呢,最好找培训机构学习比较好,有老师指导你也知道怎么学

  • 回答 2

    对于编程语言难与不难真不好下定论,当然相对于其他编程语言,python语言还是容易点。欢迎深入了解python语言。

  • 回答 2

    java是静态类型编程语言python是动态类型java被市场认可和广泛使用三十余年了,比较成熟python近几年刚被市场认可和大量推广,热度比较高python的学习周期短于java

  • 回答 1
    已采纳

    冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素...

  • 回答 1

没有解决我的问题,去提问