2.7 棋盘

虽然ac了 但是代码有问题

#include<iostream>
using namespace std;
int main()
{
	int n;cin>>n;
	int q[n][n],cmax=1,max=0,num=0;
	for(int i=0;i<n;i++)
	{
		getchar();//吸收回车 
		for(int j=0;j<n;j++)
			q[i][j]=getchar()-'0';
	}
	int LineEnd=n-1,RowEnd=n-1;
	for(int i=0;i<=LineEnd;i++)
		for(int j=0;j<=RowEnd;j++)
			if(q[i][j]==1) //棋盘左上角必为1 →按行、列递增寻找1
			{	
				int cnt=1,cnt1=1,cnt2=1,sgn=-1;//开始寻找当前这个1能组成的最大棋盘
				for(int x=i+1,y=j+1;x<n,y<n;x++,y++)
					if(q[x][y]==1) cnt++;//棋盘对角线必为1 
					else break; 
				for(int y=j+1;y<j+cnt;y++) //横着找
				{	
					if(q[i][y]==q[i][y-1]+sgn*1) cnt1++;
					else break;
					sgn*=-1;
				}
				sgn=-1;
				for(int x=i+1;x<i+cnt;x++)//竖着找 
				{
					if(q[x][j]==q[x-1][j]+sgn*1) cnt2++;
					else break;
					sgn*=-1;
				}
				cnt1>cnt2 ? cmax=cnt2:cmax=cnt1;
				if(cmax>max)//当前的1能组成的最大规模大于已知最大规模 
				{ 
					num=0;//计数归零 
					LineEnd=RowEnd=n-cmax;//查找范围更新 
					max=cmax;
				}
				if(cmax==max) num++; 
			}
	cout<<max<<" "<<num;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运行#!/usr/bin/env python2.7 -- coding: UTF-8 -- import numpy as np import cv2 准备标定板参数 pattern = (9, 6) # 部角点数目 square_size = 25 # 每个棋盘格的边长(单位:毫米) 准备用于标定的图像路径(替换实际的图像路径) image_paths = [ 'pictures1.jpg', 'pictures2.jpg', 'pictures3.jpg', ] 创建存储角点和物体点的列表 obj_points = [] # 真实世界坐标点 img_points = [] # 图像平面角点 准备物体坐标 objp = np.zeros((pattern[0] * pattern[1], 3), np.float32) objp[:, :2] = np.mgrid[0:pattern[0], 0:pattern[1]].T.reshape(-1, 2) * square_size for image_path in image_paths: # 读取图像 img = cv2.imread(image_path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 查找角点 ret, corners = cv2.findChessboardCorners(gray, pattern, None) if ret: obj_points.append(objp) img_points.append(corners) 进行相机标定 ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(obj_points, img_points, gray.shape[::-1], None, None) 打印相机内参和畸变参数 print("相机内参 (Camera Matrix):\n", mtx) print("\n畸变系数 (Distortion Coefficients):\n", dist) 保存相机参数 np.save("camera_matrix.npy", mtx) np.save("dist_coeffs.npy", dist) 后显示gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.error: /build/opencv-XDqSFW/opencv-3.2.0+dfsg/modules/imgproc/src/color.cpp:9748: error: (-215) scn == 3 || scn == 4 in function cvtColor 会报错是因为图片通道数并非4,更改代码使它先将图片通道数变为4然后运行上述代码要求的功能
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值