之前我是学 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 也好
|  |      1tomczhen      2019-03-21 15:03:05 +08:00 怕不是又来黑最好的开发语言 PHP 的吧。 这里 “ PHP 运行环境”,要么是依靠 php -S 或者干脆就是 WAMP 之类的套件里面运行,所谓在浏览器“运行”不过是通过 Web Server 输出 PHP CGI 运行结果,然后通过浏览器展示。 | 
|  |      2liKeYunKeji OP @tomczhen phpstudy 了解一下 | 
|  |      4xiaomimei      2019-03-21 15:06:05 +08:00 via Android 又跟 phpstudy 什么关系,跟 wamp 有啥区别 | 
|  |      5whypool      2019-03-21 15:08:01 +08:00 弄个 web 服务就行 | 
|      6CallMeReznov      2019-03-21 15:12:04 +08:00 | 
|      7SeaRecluse      2019-03-21 15:22:33 +08:00 jupyter notebook... [欲言又止 | 
|  |      8akiakiseofficial      2019-03-21 15:23:20 +08:00 jupyter 了解一下 | 
|  |      9lithiumii      2019-03-21 15:25:54 +08:00 jupyter lab 吧,甚至能在浏览器里跑 shell (噗 | 
|  |      10youngxu      2019-03-21 15:27:24 +08:00 via Android vscode 本质上也是浏览器(滑稽)你拿 vscode 跑 py 吧 | 
|  |      11MisakaTang      2019-03-21 15:36:12 +08:00 用 PHP 写一个 py 解释器就可以了[手动狗头] | 
|  |      12liKeYunKeji OP @youngxu 到时候要上线用,不合适吧 | 
|  |      13dinghow      2019-03-21 15:39:13 +08:00 jupyter notebook | 
|  |      14shintendo      2019-03-21 15:39:39 +08:00 请给我 javascript 一个面子好吗 | 
|  |      15dacapoday      2019-03-21 15:48:10 +08:00 PHP:[真]最好的开发语言,甚至不需要懂开发。 | 
|      16Marsss      2019-03-21 17:49:08 +08:00 via iPhone Web server 的概念需要理解一下,跟语言没关系。 | 
|  |      17Flasky      2019-03-21 17:53:43 +08:00 via Android Python 写一个 Server,再通过浏览器访问这个 Server 运行你的 py | 
|  |      18SleipniR      2019-03-21 17:59:04 +08:00 jupyter notebook | 
|  |      19masker      2019-03-21 17:59:16 +08:00 via Android 高端黑 | 
|  |      20Smilecc      2019-03-21 19:25:31 +08:00 点进来之前我想告诉你用 WebAssembly,点进来之后发现是个 php 高端黑 | 
|  |      21kindjeff      2019-03-21 19:49:04 +08:00 via iPhone 点进来之前以为是用 js 做 python 的编译,点进来之后发现是个 php 高端黑 | 
|  |      22ayase252      2019-03-21 19:53:58 +08:00 via iPhone 点进来之前以为问题挺有意思的,点进来之后发现索然无味(笑) | 
|  |      23xiangyuecn      2019-03-21 20:10:48 +08:00 曾经我也是菜鸡,现在依然是菜鸡。 刚好,昨天开始学 python,今天撸了一天的环境,终于装上了,折磨死我了。 搞了一个文本转拼音的接口,明明是 java 的方法,我就是要输出 Web API 给浏览器里面用。。。今晚准备去撸新统计数据,嘿嘿。 欢迎围观: https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov/tree/master/.pinyin-python-server 简单功能 相对来说还是 nodejs 写的更方便些,不过 npm 真一坨 si,不接受反驳。 | 
|  |      24expy      2019-03-21 20:18:09 +08:00 拿 js 做个 py 解释器,或者造个带 py 解释器的浏览器吧。 只要像 php 那样执行的话,搜一下 python 后台开发怎么部署就好了。 | 
|      25CallMeReznov      2019-03-21 20:21:33 +08:00 @xiangyuecn #23 优秀啊,一天就出东西! | 
|      26vincenteof      2019-03-22 09:41:57 +08:00 这。。。楼主怕不是 troll,如果是认真的话,我建议你补一些比较基础的东西,可以看一下 csapp,貌似最后一章有用 c 语言写一个简单的 server 的,先搞清楚 web server 的概念。 | 
|      27Gakho      2019-03-22 10:32:30 +08:00 感觉满大街都在黑我最好的语言[手动狗头] | 
|  |      28zjsxwc      2019-03-22 11:43:38 +08:00 via Android 看 PHP 把用户惯的,连 http 是什么都不知道了 | 
|      29catcalse      2019-03-22 11:59:31 +08:00 wsgi 了解下。 |