如何将在html文件上单击的图像的url传递给我的python函数视图.pyDjang公司

2024-04-19 12:47:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想传递用户在python函数中选择的图像的url视图.py因为我的python函数将处理用户选择的图像。这是我的html命令

<!DOCTYPE html>
<html>
<head>
<link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
  article, aside, figure, footer, header, hgroup, 
  menu, nav, section { display: block; }
</style>
</head>
<body>
  <input type='file' onchange="readURL(this);" />
    <img id="blah" src="#" alt="your image" />
<script>
    function readURL(input) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();

            reader.onload = function (e) {
                $('#blah')
                    .attr('src', e.target.result)
                    .width(150)
                    .height(200);
            };

            reader.readAsDataURL(input.files[0]);
        }
    }
</script>
</body>
</html>

这是python上的函数

def predict():
    img = cv2.imread('C:/Users/HABITUS/Desktop/arvin files/download.jpg') #the url of the image selected must be here!!
    img = cv2.resize(img, (600, 600))
    enhancer = Image.fromarray(img)
    enhancer = ImageEnhance.Contrast(enhancer)
    enhanced = enhancer.enhance(1.5)
    enhancer1 = ImageEnhance.Brightness(enhanced).enhance(1.3)
    convert = scipy.misc.fromimage(enhancer1)
    imgM = cv2.medianBlur(convert, 5)
    # blurring and smoothening
    kernel = np.ones((5, 5), np.uint8)
    erosion = cv2.erode(imgM, kernel, iterations=1)
    dilation = cv2.dilate(erosion, kernel, iterations=1)
    blur = cv2.GaussianBlur(convert, (15, 15), 10)
    grayscaled = cv2.cvtColor(imgM, cv2.COLOR_BGR2GRAY)

    retval2, threshold2 = cv2.threshold(grayscaled, 200, 1, cv2.THRESH_BINARY_INV)

    gaus = cv2.adaptiveThreshold(grayscaled, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 115, 1)
    retval2, otsu = cv2.threshold(grayscaled, 140, 250, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
    backtorgb = cv2.cvtColor(threshold2, cv2.COLOR_GRAY2RGB)
    mult = cv2.multiply(img, backtorgb)
    edges = cv2.Canny(threshold2, 120, 50)

用户选择的图像必须在cv2.imread()中,我该怎么做?任何建议或帮助将不胜感激


Tags: 用户srccomhttpimginputhtmlscript