之前我是学 PHP 的,知道要执行 php 文件,直接在 php 运行环境中执行 filename.php 就可以在浏览器执行了,而 Python 好像不行。
刚开始学习 Python,网上找了些资料还看不明白,但是在命令行工具我会使用,今天写了个 opencv 的实例,想要在浏览器显示处理后的图片。
import cv2
import numpy as np
import random
import string
img=cv2.imread('img-2.jpg')
#缩放
rows,cols,channels = img.shape
img=cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
cv2.imshow('img',img)
#转换 hsv
hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
lower_blue=np.array([90,70,70])
upper_blue=np.array([110,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
cv2.imshow('Mask', mask)
#腐蚀膨胀
erode=cv2.erode(mask,None,iterations=1)
cv2.imshow('erode',erode)
dilate=cv2.dilate(erode,None,iterations=1)
cv2.imshow('dilate',dilate)
#遍历替换
for i in range(rows):
for j in range(cols):
if dilate[i,j]==255:
img[i,j]=(0,0,255)#此处替换颜色,为 BGR 通道
# 显示图片
cv2.imshow('res',img)
# 生成文件名
seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
sa = []
for i in range(10):
sa.append(random.choice(seed))
filename = ''.join(sa)
# 保存图片
cv2.imwrite(filename+".jpg", img);
cv2.waitKey(0)
cv2.destroyAllWindows()
怎么在浏览器执行这个 opencv.py 的? 直接显示图片或者返回 json 也好
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.