采用sobel、prewitt、roberts、canny、log、分水岭、itti算法统计米粒图片中有多少粒米。算法输出是一个画布上排列7种算法结果,标题显示算法名称和米粒总数,第8幅图片显示各算法运行时长。选取最接近500粒米的算法作为最优算法。使用python语法


import cv2 import numpy as np import time from matplotlib import pyplot as plt # 读取米粒图片 img = cv2.imread('millets.jpg', 0) # 定义7种算法 algorithms = ['Sobel', 'Prewitt', 'Roberts', 'Canny', 'Log', 'Watershed', 'Itti'] counts = [] # 定义函数来统计米粒数量 def count_millets(img): # Sobel算法 sobel = cv2.Sobel(img, cv2.CV_64F, 1, 1, ksize=5) # Prewitt算法 prewitt = cv2.Canny(img, 100, 200) # Roberts算法 roberts = cv2.Robert(img, cv2.CV_64F) #Canny算法 canny = cv2.Canny(img, 100, 200) #Log算法 log = cv2.Laplacian(img, cv2.CV_64F, ksize=5) # 分水岭算法 _, thresh = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU) # Itti算法 itti = cv2.ittisalience(img) return sobel, prewitt, roberts, canny, log, thresh, itti # 统计米粒数量 for i, algorithm in enumerate(algorithms): start_time = time.time() result = count_millets(img) end_time = time.time() counts.append(np.sum(result[i])) plt.subplot(3, 3, i+1) plt.imshow(result[i], cmap='gray') plt.title(algorithm + ' - ' + str(counts[i]) + ' grains') plt.show() # 绘制各算法运行时间 plt.imshow(end_time-start_time) plt.title('Execution Time for each algorithm') plt.show() # 找到粒数最接近500的算法 best_algo_index = np.argmin(np.abs(np.array(counts) - 500)) best_algo = algorithms[best_algo_index] best_count = counts[best_algo_index] print('The best algorithm for counting grains is:', best_algo) print('Total number of grains counted:', best_count) [2024-11-23 14:42:43 | AI写代码神器 | 1023点数解答]
- <!DOCTYPE html> <html> <head> <title>code2</title> <script> let x = 3 console.log(x) console.log(typeof x) x = 'Hello' console.log(x) console.log(typeof x) x = true console.log(x) console.log(typeof x) console.log(2>12) console.log(5 | 1<<1) console.log(5<<1) console.log('A'+123) </script> </head> <body> <p>王荣辉 2025123456</p > </body> </html> (664点数解答 | 2025-06-17 14:30:03)67
- 采用sobel、prewitt、roberts、canny、log、分水岭、itti算法统计米粒图片中有多少粒米。算法输出是一个画布上排列7种算法结果,标题显示算法名称和米粒总数,第8幅图片显示各算法运行时长。选取最接近500粒米的算法作为最优算法。使用python语法(1023点数解答 | 2024-11-23 14:42:43)76
- 根据图片采用sobel、prewitt、roberts、canny、log、分水岭、itti算法统计米粒图片中有多少粒米。算法输出是一个画布上排列7种算法结果,标题显示算法名称和米粒总数,第8幅图片显示各算法运行时长。选取最接近500粒米的算法作为最优算法。使用python语法(1370点数解答 | 2024-11-23 14:43:30)144
- 题目描述 请根据邮件的重量和用户选择是否加急计算邮费。计算规则: 重量在 1000 1000 以内(包括),基本费 8 8 元; 超过 1000 1000 克的部分,每 500 500 克加收超重费 4 4 元,不足 500 500 克部分按 500 500 克计算; 如果用户选择加急,多收 5 5 元。 输入格式 一行,包含一个正整数 x x 和一个字符 c(y 或 n),之间用一个空格隔开,分别表示重量和是否加急。 如果字符是 y,说明选择加急;如果字符是 n,说明不加急。 输出格式 输出一行一个正整数,表示邮费。 输入输出样例 输入 #1复制 1200 y 输出 #1复制 17 说明/提示 对于100%数据 1 ≤ x ≤ 1 0 6 1≤x≤10 6 在洛谷, 享受 coding 的欢乐(88点数解答 | 2024-11-09 15:33:30)255
- 题目描述 请根据邮件的重量和用户选择是否加急计算邮费。计算规则: 重量在 1000 1000 以内(包括),基本费 8 8 元; 超过 1000 1000 克的部分,每 500 500 克加收超重费 4 4 元,不足 500 500 克部分按 500 500 克计算; 如果用户选择加急,多收 5 5 元。 输入格式 一行,包含一个正整数 x x 和一个字符 c(y 或 n),之间用一个空格隔开,分别表示重量和是否加急。 如果字符是 y,说明选择加急;如果字符是 n,说明不加急。 输出格式 输出一行一个正整数,表示邮费。 输入输出样例 输入 #1复制 1200 y 输出 #1复制 17 说明/提示 对于100%数据 1 ≤ x ≤ 1 0 6 1≤x≤10 6 在洛谷, 享受 coding 的欢乐(554点数解答 | 2024-11-09 15:34:05)261
- 请根据邮件的重量和用户选择是否加急计算邮费。计算规则: 重量在 1000 1000 以内(包括),基本费 8 8 元; 超过 1000 1000 克的部分,每 500 500 克加收超重费 4 4 元,不足 500 500 克部分按 500 500 克计算; 如果用户选择加急,多收 5 5 元。 输入格式 一行,包含一个正整数 x x 和一个字符 c(y 或 n),之间用一个空格隔开,分别表示重量和是否加急。 如果字符是 y,说明选择加急;如果字符是 n,说明不加急。 输出格式 输出一行一个正整数,表示邮费。 输入输出样例 输入 #1复制 1200 y 输出 #1复制 17 说明/提示 对于100%数据 1 ≤ x ≤ 1 0 6 1≤x≤10 6(244点数解答 | 2024-12-31 19:36:29)183
- pandas读取文件,文件某一列分组,条件为列数据字段中包含“一级”为一组,没有“一级”的为一组,将pandas读取到的文件按地市映射表分为各地市文件,再将这个文件当作邮件附件,邮件正文为某地市,有“一级”多少,没有“一级”多少,语言方向:Python,系统环境:Windows(459点数解答 | 2024-12-25 01:17:06)137
- 题目描述 请根据邮件的重量和用户选择是否加急计算邮费。计算规则: 重量在 1000 1000 以内(包括),基本费 8 8 元; 超过 1000 1000 克的部分,每 500 500 克加收超重费 4 4 元,不足 500 500 克部分按 500 500 克计算; 如果用户选择加急,多收 5 5 元。 输入格式 一行,包含一个正整数 x x 和一个字符 c(y 或 n),之间用一个空格隔开,分别表示重量和是否加急。 如果字符是 y,说明选择加急;如果字符是 n,说明不加急。 输出格式 输出一行一个正整数,表示邮费。(45点数解答 | 2024-12-16 22:26:01)248
- 题目描述 请根据邮件的重量和用户选择是否加急计算邮费。计算规则: 重量在 1000 1000 以内(包括),基本费 8 8 元; 超过 1000 1000 克的部分,每 500 500 克加收超重费 4 4 元,不足 500 500 克部分按 500 500 克计算; 如果用户选择加急,多收 5 5 元。 输入格式 一行,包含一个正整数 x x 和一个字符 c(y 或 n),之间用一个空格隔开,分别表示重量和是否加急。 如果字符是 y,说明选择加急;如果字符是 n,说明不加急。 输出格式 输出一行一个正整数,表示邮费。(38点数解答 | 2024-12-16 22:27:37)168
- 使用继承,实现“剪刀石头布的游戏”。 小时候很喜欢玩一个游戏,“剪刀石头布”,可以是出拳的形式,或跳格子的形式。现在我们用计算机来玩这个游戏。 电脑用随机数产生剪刀石头布,游戏玩家用输入1,2,3的方式出拳。 游戏玩家输入1或2或3,分别 代表剪刀(1)石头(2)布(3)。 电脑胜出时,显示"winner is computerplayer." 游戏玩家胜出时,显示“winner is personplayer.” 平局时显示"a draw." 函数接口定义: 根据主方法内容,实现三个类的定义,分别是是computerplayer、personplayer、game类。 其中computerplayer、personplayer要继承player类。 根据主方法中的用法,实现game类。 裁判测试程序样例: import java.util.scanner; class player{ string name; player(string name){ this.name = name; } int show() { //出拳方法(451点数解答 | 2024-10-20 19:57:58)283
- c:\python\venv\zzz\scripts\python.exe c:\python\main.py traceback (most recent call last): file "c:\users\意\appdata\local\programs\python\python311\lib\site-packages\urllib3\connection.py", line 199, in _new_conn sock = connection.create_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ file "c:\users\意\appdata\local\programs\python\python311\lib\site-packages\urllib3\util\connection.py", line 85, in create_connection raise err file "c:\users\意\appdata\local\programs\python\pyt(161点数解答 | 2024-10-31 00:39:36)244
- c++实现: 题目描述 “五一”放假了,爸爸总算答应小华可以在上午玩益智游戏。小华飞快地下载了一个名叫“快乐五一”的游戏,准备大显身手了。安装、运行,接着出现了一个 “请输入密码:” 的输入框,密码是什么呢? 小华看了一下说明,原来每次开始运行游戏都会在界面上显示一个小于 150 位的正整数 N , 同时显示一个密码破解钥匙 S( S 为正整数且小于 N 的位数),只要将正整数N去掉其中任意 S 个数字后使剩下的数最小,这个最小数就是密码。例如:N=2813465, S=4 时可以删去 2,8,6,5 得到最小数 134,密码就是 134 。这可难不倒小华,他号称学校信息学竞赛的“编程高手”呢。很快他就编写出了一个专门破解密码的程序。请你编写一个这样的程序,只要从键盘输入 N 和 S 就可以输出密码是什么。 输入格式 两个整数 N 和 S ,含义如题所示。 输出格式 一个 S位的整数,表示密码; 样例输入1 2813465 4 样例输出1 134 样例输入2 1032 2 样例输出2 2(473点数解答 | 2025-06-20 16:08:21)74