andiksha
andiksha
EDUCATION (MUMBAI)
A
PROJECT REPORT
ON
“CROP SUGGESTION’’
SUBMITTED BY,
Sr.
Name of Student Enrollment No. Seat No.
No.
Prof. Yalgonde O. K.
Om Santosh Jadhav
INDEX
Chapter No. Particulars Page
No.
Abstract 1
1 Preamble 2
1.1 Introduction 2
2 System Architecture 8
2.1 Methodology 8
2.2 Modules 11
4 System Modelling 13
5 Implementation Details 18
5.1 Implementation 18
5.3 Cost 22
6 Coding 23
6.1 Output 28
7 Testing 33
7.1 Unit Testing 33
7.2 System / Integration Testing 33
7.3 Test Cases and Results 34
8 Conclusion 37
8.1 Advantages & Disadvantages 38
9 Future Scope 39
10 References 40
FIGURE INDEX
TABLE INDEX
1. INTRODUCTION
We have gone through some agriculteral sites systems the overview of them are as bellows:
1. Several studies have explored crop recommendation systems using machine
learning and data analysis techniques. Research by Patil et al. (2020) utilized
decision tree and random forest algorithms to suggest suitable crops based on soil
and climatic conditions, showing improved accuracy in predictions. Similarly,
Kumar and Sharma (2019) developed a system integrating real-time weather
data.
CHAPTER NO: 2
Department of Computer Technology , Brahmdevdada Mane Polytechnic, Solapur Page 105
In this we used following steps
A. Communication
B. Planning
C. Modelling
It includes detail requirement analysis and project design. Flowchart shows
complete pictorial flow of program whereas algorithm is step by step solution of
problem.
We analyze the requirement of the user according to that we draw the block
diagrams of the system.
That is nothing but behavioral structure of the system using UML i.e. Class
Diagram, use case Diagram, Components Diagram etc.
D. Construction
It includes coding and testing steps:
2) Testing
Testing a crop suggestion system involves evaluating its performance using metrics like
accuracy, precision, recall, and F1-score. These metrics assess the model's ability to make
correct predictions, minimize false positives and negatives, and balance between precision
and recall. Additionally, techniques like K-fold cross-validation are employed to assess the
model's robustness and generalizability across different datasets.
E. Deployment
A crop detection system uses AI and image processing to monitor plant health,
detect diseases, and optimize resource usage, enhancing agricultural efficiency and
productivity.
2. User :
Collects data from farmers, such as soil type, climate, and location, to personalize
crop recommendations.Analyzes environmental factors, weather patterns, and soil
conditions to suggest the most suitable crops for the area.
Farmer Login
1. Structural Diagram:
The structural diagrams illustrate the static structure of the entire system.
These Static structures represent the aspects of a diagram shows the main structure of
system. These static structures are represented in the form of classes, objects,
interfaces,
Nodes, components etc. The four structural diagrams are-
I. Component Diagram:
A Component diagram illustrates the pieces of software, embedded
controllers, etc. that will make up a system. A Component diagram hides the system
behavior at higher level. The abstraction level of component diagram is more as
2. Behavioral Diagram:
These diagrams are used to represent dynamic aspects of the system. UML has
The following five types of behavioral diagrams-
I. Use case diagram
II. Activity diagram
5.1 IMPLEMENTATION
One of the most critical decisions to be made was the LANGUAGE. The project deals
with user application so it required a language that provides all the required features as
well as it should be easy to use. So finally we arrived at conclusion to use python as
implementation language.
5.4 COST
5.4.1 Time Estimation
The working days: 25 days * 8 months = 200 days
The working hours per day: 6 hours
Total time spend for development: 1200 hours 5.4.2
Cost Estimation
Arduino cost: 5000 Rs. sensor cost = 800 Rs/-
Installation of packages cost =1000Rs/-
So the total cost for the project will be approximately = 6800 Rs./-
# Load weights
model.load_weights(MODEL_PATH)
print("Model loaded successfully!")
except Exception as e: print(f"Error
loading model: {e}") raise
@app.route('/predict', methods=['POST'])
def predict(): if 'file' not in request.files:
return jsonify({'error': 'No file provided'}), 400
try:
# Load and preprocess the image
img = image.load_img(temp_path, target_size=(224, 224))
img_array = image.img_to_array(img) img_array =
np.expand_dims(img_array, axis=0) img_array = img_array
/ 255.0 # Normalize
# Clean up
os.remove(temp_path)
return jsonify({
'prediction': int(predicted_class),
'confidence': float(prediction[0][predicted_class])
})
except Exception as e:
# Clean up in case of error
if os.path.exists(temp_path):
os.remove(temp_path)
return jsonify({'error': str(e)}), 500
if _name_ == '_main_':
app.run(debug=True)
Actual Result
All details are successfully accepted.
Status
Pass
Status
Pass