I’m working on a Django project where users can upload an image, and the server processes this image to apply a cartoon effect using OpenCV
. However, I’m encountering an error when trying to read the uploaded image file with cv2.imread()
.
Here is my code:
def create_cartoonify_content(request):
if request.method == 'POST':
file = request.FILES['file']
title = request.POST['title']
img = cv2.imread(file)
edges = cv2.bitwise_not(cv2.Canny(img, 100, 200))
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.medianBlur(gray, 5)
dst = cv2.edgePreservingFilter(img, flags=2, sigma_s=64, sigma_r=0.25)
cartoon = cv2.bitwise_and(dst, dst, mask=edges)
create_cartonist_content = Post.objects.create(user=request.user, title=title, file=cartoon)
create_cartonist_content.save()
return redirect('Home_Page')
return render(request, 'create_cartoonify.html')
Error Message:
error at /create_cartoonify
OpenCV(4.10.0) :-1: error: (-5:Bad argument) in function 'imread'
> Overload resolution failed:
> - Expected 'filename' to be a str or path-like object
> - Expected 'filename' to be a str or path-like object
> - Expected 'filename' to be a str or path-like object
1