Friday, April 28, 2023
Maximizing Azure Functions: Use Cases and Limitations for Effective Serverless Computing
code for azure function with storage of excel file
This function listens to HTTP POST requests and stores the Excel file in Blob storage under the "excel-files" container with a random GUID as the file name. Note that this function requires the Microsoft.Azure.WebJobs.Extensions.Storage NuGet package. When you make a POST request to this function with an Excel file in the request body, the function will store the file in Blob storage and return an HTTP 200 OK response with the message "Excel file stored successfully". You can then use this file in other Azure Functions or download it from Blob storage using the Azure Storage SDK or Azure portal.
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
using System.IO;
using System.Threading.Tasks;
public static class StoreExcelFunction
{
[FunctionName("StoreExcel")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
[Blob("excel-files/{rand-guid}.xlsx", FileAccess.Write)] Stream excelFile,
ILogger log)
{
await req.Body.CopyToAsync(excelFile);
log.LogInformation("Excel file stored successfully");
return new OkObjectResult("Excel file stored successfully");
}
}
Thursday, April 27, 2023
Handwritten Digit Recognition using OpenCV using Python
This code loads a pre-trained CNN model to recognize the digits, captures the video from the webcam, and analyzes each frame in real-time to recognize the digits. The code uses OpenCV to preprocess the images and extract the digits from the video frames. The recognized digits are printed on the video frames and displayed in real-time.
import cv2
import numpy as np
from keras.models import load_model
# Load the pre-trained CNN model
model = load_model('model.h5')
# Define the size of the image to be analyzed
IMG_SIZE = 28
# Define the function to preprocess the image
def preprocess_image(img):
img = cv2.resize(img, (IMG_SIZE, IMG_SIZE))
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
img = img.astype('float32') / 255.0
img = np.reshape(img, (1, IMG_SIZE, IMG_SIZE, 1))
return img
# Define the function to recognize the digit
def recognize_digit(img):
img_processed = preprocess_image(img)
digit = model.predict_classes(img_processed)[0]
return digit
# Capture the video from the webcam
cap = cv2.VideoCapture(0)
while True:
# Read a frame from the video stream
ret, frame = cap.read()
# Convert the frame to grayscale
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Threshold the grayscale image
ret, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
# Find the contours in the thresholded image
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Loop through all the contours
for contour in contours:
# Find the bounding rectangle of the contour
x, y, w, h = cv2.boundingRect(contour)
# Ignore contours that are too small
if w < 10 or h < 10:
continue
# Draw the rectangle around the contour
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
# Extract the digit from the image
digit_img = gray[y:y+h, x:x+w]
# Recognize the digit
digit = recognize_digit(digit_img)
# Print the recognized digit on the frame
cv2.putText(frame, str(digit), (x, y), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
# Display the video stream
cv2.imshow('Handwritten Digit Recognition', frame)
# Wait for a key press
key = cv2.waitKey(1)
# If the 'q' key is pressed, exit the loop
if key == ord('q'):
break
# Release the resources
cap.release()
cv2.destroyAllWindows()
Motion Detection using OpenCV using python
import cv2
# Set up video capture device
cap = cv2.VideoCapture(0)
# Initialize variables
previous_frame = None
while True:
# Capture current frame
ret, current_frame = cap.read()
# Convert to grayscale
current_frame_gray = cv2.cvtColor(current_frame, cv2.COLOR_BGR2GRAY)
# Check if previous frame exists
if previous_frame is not None:
# Compute absolute difference between current and previous frame
frame_diff = cv2.absdiff(current_frame_gray, previous_frame)
# Apply thresholding to remove noise
thresh = cv2.threshold(frame_diff, 25, 255, cv2.THRESH_BINARY)[1]
# Find contours of objects in thresholded image
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Draw bounding box around each contour
for contour in contours:
(x, y, w, h) = cv2.boundingRect(contour)
cv2.rectangle(current_frame, (x, y), (x + w, y + h), (0, 0, 255), 2)
# Update previous frame
previous_frame = current_frame_gray
# Display current frame
cv2.imshow("Motion Detection", current_frame)
# Exit on 'q' key press
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Release video capture device and destroy all windows
cap.release()
cv2.destroyAllWindows()
Face Recognition with OpenCV python code
import cv2
# Load the Haar Cascade face detection classifier
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# Load the trained face recognition model
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read('trained_model.xml')
# Set the video capture device (0 is usually the default webcam)
cap = cv2.VideoCapture(0)
while True:
# Read a frame from the video stream
ret, frame = cap.read()
# Convert the frame to grayscale
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Detect faces in the grayscale frame
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5)
# Loop through each face detected
for (x, y, w, h) in faces:
# Crop the face region from the grayscale frame
face_gray = gray[y:y+h, x:x+w]
# Resize the face image to match the training image size
face_gray = cv2.resize(face_gray, (100, 100))
# Predict the label (person) of the face using the trained model
label, confidence = recognizer.predict(face_gray)
# Draw a rectangle around the face and display the predicted label
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.putText(frame, f'Person {label} ({confidence:.2f})', (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# Display the frame
cv2.imshow('Face Recognition', frame)
# Exit the loop if 'q' is pressed
if cv2.waitKey(1) == ord('q'):
break
# Release the video capture device and close the OpenCV window
cap.release()
cv2.destroyAllWindows()
Note that this code assumes you have already trained a face recognition model and saved it to a file (in this case, trained_model.xml). If you haven't done this yet, you will need to train the model on a dataset of labeled face images before you can use it for recognition.
Object Detection with OpenCV-Python code
import cv2
# Load the pre-trained face detection classifier
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# Load the image
img = cv2.imread('test.jpg')
# Convert the image to grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Detect faces in the grayscale image
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Draw rectangles around the detected faces
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
# Display the result
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Wednesday, April 26, 2023
Get column count in MySQL
SELECT count(*) FROM information_schema.columns WHERE table_name = 'vmdata'
ASP.NET Core
Certainly! Here are 10 advanced .NET Core interview questions covering various topics: 1. **ASP.NET Core Middleware Pipeline**: Explain the...
-
The error message you encountered ("DeleteService FAILED 1072: The specified service has been marked for deletion") indicates tha...
-
replace html of a div using jquery this is simple . just use .html() method of jquery to set new html for a div . $ ( "#divID...
-
declare @ProductIds nvarchar(50)='18,19' SELECT * FROM products Where (',' + @ProductIds +',' LIKE '%,' ...