gpt4 book ai didi

php - 从 PHP Controller 运行 Python 脚本

转载 作者:行者123 更新时间:2023-11-29 11:05:03 26 4
gpt4 key购买 nike

我有一个 python 脚本,可以预处理图像(增加对比度)。

通过命令行可以正常工作。

我想从 PHP Web 应用程序调用该脚本。我想使用存储在 MySQL 数据库中的图像。

这是 python 脚本。

#!/usr/bin/env python

import cv2
import numpy as np
import cv2
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
plt.switch_backend('Qt4Agg')

img = cv2.imread('original.png')

bilateral = cv2.bilateralFilter(img,9,75,75)

img = cv2.imread('bilaterla_filtered.png')

# generating the kernels

kernel_sharpen_3 = np.array([[-1,-1,-1,-1,-1],
[-1,2,2,2,-1],
[-1,2,8,2,-1],
[-1,2,2,2,-1],
[-1,-1,-1,-1,-1]]) / 8.0

output_3 = cv2.filter2D(img, -1, kernel_sharpen_3)

cv2.imwrite('edge_enhancement.png',output_3)

img = cv2.imread('edge_enhancement.png')

gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

hist,bins = np.histogram(gray_image.flatten(),256,[0,256])
cdf = hist.cumsum()

cdf_m = np.ma.masked_equal(cdf,0)
cdf_m = (cdf_m - cdf_m.min())*255/(cdf_m.max()-cdf_m.min())
cdf = np.ma.filled(cdf_m,0).astype('uint8')

img2 = cdf[img]
image_enhanced=img2
cv2.imwrite('Final.png',image_enhanced)

我应该在 Controller 中做什么

  1. 如何将 mysql 数据库中的图像作为参数发送到脚本?
  2. 如何执行脚本并将生成的图像存储在数据库?

最佳答案

好吧,对于初学者来说,您应该重做您的 python 脚本以使其参数化。
像这样的事情:

img = cv2.imread('original.png')

不应该存在于您的脚本中!您应该接收文件路径作为脚本的参数。

剩下的很大程度上取决于您如何实现它以及您希望它如何工作。

如果您想从 php 脚本中执行程序,请查看 shell_exec()exec()

关于php - 从 PHP Controller 运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41546398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com