当前位置:网站首页>I used Matlab to reproduce the trembling sonic boom Fire Games Apple snake
I used Matlab to reproduce the trembling sonic boom Fire Games Apple snake
2022-06-10 15:53:00 【slandarer】
Recently, there was a big fire in the apple Snake game on Tiktok , In order to prove MATLAB omnipotent , How can we not follow the trend and make a ? So there is this article .
I would like to mention the mental journey of this little game :
- The first 1-5 Turn off :? This is the greedy snake with gravity , Is there any difficulty ??
- The first 6 Turn off : Um. ... This little trick is still a little interesting
- The first 30 Turn off :??? This is a human problem ??
- The first 90 Turn off :… … Crazy crazy already crazy
No more nonsense. Let's have a look MATLAB Full code for version :
For convenience of modification , The level map is on m In the document , A total of eight passes have been written , But only the code without the material package can not run , Therefore, please get the complete compressed package from Baidu network disk at the end of the text .
function appleSnake
% @author : slandarer
% official account : slandarer essays
% You know : hikari
% Load image data
MT=load('material.mat');
MT=MT.MT;
SIZE.BASE=size(MT.base.CData,1);
SIZE.EXIT=size(MT.exit.CData,1);
SIZE.STONE=size(MT.stone.CData,1);
SIZE.APPLE=size(MT.apple.CData,1);
SIZE.SNAKE=size(MT.snake1.CData,1);
SIZE.RESTART=size(MT.restart.CData,1);
% Initialize maps and levels
[fig,ax]=init();
LEVEL=1;
MAP=getMap(LEVEL);
loadMap();
refreshSnake();
text(10,1000,' The current level :','FontSize',18,'FontWeight','bold')
LEVEL_HDL=text(270,1000,num2str(LEVEL),'FontSize',18,'FontWeight','bold');
% =========================================================================
set(fig,'KeyPressFcn',@key);
function key(~,event)
dirvec=[0,0];
switch event.Key
case 'uparrow'
dirvec=[-1,0];
[~,colSet]=find(MAP<0);
if all(colSet==colSet(1))
dirvec=[0,0];
end
case 'downarrow',dirvec=[1,0];
case 'rightarrow',dirvec=[0,1];
case 'leftarrow',dirvec=[0,-1];
end
if sum(dirvec)~=0
[hi,hj]=find(MAP==-1);
switch MAP(hi+dirvec(1),hj+dirvec(2))
case 0
MAP(MAP<0)=MAP(MAP<0)-1;
MAP(MAP==min(MAP,[],[1,2]))=0;
MAP(hi+dirvec(1),hj+dirvec(2))=-1;
case 1
case 2
MAP(MAP<0)=MAP(MAP<0)-1;
MAP(MAP==min(MAP,[],[1,2]))=0;
MAP(hi+dirvec(1),hj+dirvec(2))=-1;
refreshSnake()
win();
return;
case 3
MAP(MAP<0)=MAP(MAP<0)-1;
APPLE_HDL=findobj('Tag','APPLE','UserData',[hi+dirvec(1),hj+dirvec(2)]);
MAP(hi+dirvec(1),hj+dirvec(2))=-1;delete(APPLE_HDL);
case 4
if MAP(hi+2*dirvec(1),hj+2*dirvec(2))==0
MAP(MAP<0)=MAP(MAP<0)-1;
MAP(MAP==min(MAP,[],[1,2]))=0;
MAP(hi+dirvec(1),hj+dirvec(2))=-1;
MAP(hi+2*dirvec(1),hj+2*dirvec(2))=4;
STONE_HDL=findobj('Tag','STONE','UserData',[hi+dirvec(1),hj+dirvec(2)]);
STONE_HDL.XData=STONE_HDL.XData+70*dirvec(2);
STONE_HDL.YData=STONE_HDL.YData-70*dirvec(1);
STONE_HDL.UserData=[hi+2*dirvec(1),hj+2*dirvec(2)];
tCol=MAP(:,hj+2*dirvec(2));tCol(60)=1;
nRow=find(tCol~=0&((1:60)'>hi+2*dirvec(1)),1,'first')-1;
STONE_HDL.YData=STONE_HDL.YData-70*(nRow-hi+dirvec(1));
STONE_HDL.UserData=[nRow,hj+2*dirvec(2)];
MAP(hi+2*dirvec(1),hj+2*dirvec(2))=0;
MAP(nRow,hj+2*dirvec(2))=4;
end
end
refreshSnake();pause(.15)
freeFall();
refreshSnake()
end
end
function freeFall()
[rowSet,colSet]=find(MAP<0);
diffmin=inf;
for t=1:length(rowSet)
tCol=MAP(:,colSet(t));
tCol(60)=1;
tRow=find(tCol>0&((1:60)'>rowSet(t)),1,'first');
diffmin=min(diffmin,tRow-rowSet(t));
end
diffmin=diffmin-1;
if diffmin>15
loss(diffmin)
elseif diffmin>0
tMAP=MAP;
for t=1:length(rowSet)
tMAP(rowSet(t),colSet(t))=0;
end
for t=1:length(rowSet)
tMAP(rowSet(t)+diffmin,colSet(t))=MAP(rowSet(t),colSet(t));
end
MAP=tMAP;
end
end
function restart(~,~)
MAP=getMap(LEVEL);
if ~isempty(MAP)
loadMap();
refreshSnake();
LEVEL_HDL.String=num2str(LEVEL);
end
end
function win(~,~)
LEVEL=LEVEL+1;
MAP=getMap(LEVEL);
if ~isempty(MAP)
loadMap();
refreshSnake();
LEVEL_HDL.String=num2str(LEVEL);
else
msgbox(' There are no more levels ')
end
end
function loss(D)
if D>15
for d=1:20
[rowSet,colSet]=find(MAP<0);
tMAP=MAP;
for t=1:length(rowSet)
tMAP(rowSet(t),colSet(t))=0;
end
for t=1:length(rowSet)
tMAP(rowSet(t)+1,colSet(t))=MAP(rowSet(t),colSet(t));
end
MAP=tMAP;
refreshSnake();
pause(.1);
end
end
end
% =========================================================================
function [fig,ax]=init(~,~)
% figure Window creation and property settings
fig=figure();
fig.NumberTitle='off';
fig.Position=[250,120,500,500];
fig.MenuBar='none';
fig.Name='apple snake by slandarer';
% axes Coordinate area creation and attribute setting
ax=gca;hold on
ax.Position=[0 0 1 1];
ax.XTick=[];
ax.YTick=[];
ax.XColor='none';
ax.YColor='none';
ax.XLim=[0,1050];
ax.YLim=[0,1050];
% Draw the background
image(ax,ax.XLim,ax.YLim,flipud(MT.background))
image(ax,[-SIZE.RESTART/2,SIZE.RESTART/2]+60,...
[-SIZE.RESTART/2,SIZE.RESTART/2]+900,...
flipud(MT.restart.CData),...
'AlphaData',flipud(MT.restart.AlpData),...
'ButtonDownFcn',@restart)
end
function map=getMap(level)
% Map size 15x15
% air : 0
% Clod : 1
% Snakehead : -1, The number of snake body decreases in turn
% End : 2
% Apple : 3
% stone : 4
Map{
1}=[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 0 0 0 0 0 0 0
0 0 -2 -1 0 0 0 0 0 0 0 2 0 0 0
0 0 -3 1 1 1 0 0 0 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Map{
2}=[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 2 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 -3 -2 -1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 0 1 1 1 0 1 0 0 0 0
0 0 0 0 1 0 0 3 0 0 1 0 0 0 0
0 0 0 0 1 0 1 1 1 0 1 0 0 0 0
0 0 0 0 1 1 1 0 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Map{
3}=[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 -3 -2 -1 0 0 0 0 0 0 2 0 0 0
0 0 1 1 1 1 0 0 0 0 0 1 0 0 0
0 0 1 0 0 1 0 0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 3 0 0 0 1 0 0 0
0 0 1 1 1 1 0 0 0 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Map{
4}=[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 1 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 3 0 1 0 0 0 0 0
0 0 -3 -2 -1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 0 0 0 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 2 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Map{
5}=[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 2 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 1 3 0 1 0 0 0 0
0 0 0 -2 -1 0 0 0 0 0 1 0 0 0 0
0 0 0 -3 1 1 1 1 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Map{
6}=[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 2 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 3 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -3 -2 -1 0 0 0 4 0 0 0 0
0 0 0 0 1 1 1 0 1 1 1 0 0 0 0
0 0 0 0 0 0 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Map{
7}=[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 4 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 2 0 0
0 0 0 0 0 0 1 3 0 0 0 0 0 0 0
0 0 0 0 -3 -2 -1 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Map{
8}=[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 4 0 0 0 0 0 0 0 0
0 0 0 0 0 1 3 1 0 0 0 0 0 0 0
0 0 0 0 -2 -1 0 0 0 0 0 0 0 0 0
0 0 0 0 -3 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 2 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
Map{
9}=[];
map=Map{
level};
end
function loadMap(~,~)
delete(findobj('Tag','BASE'))
delete(findobj('Tag','EXIT'))
delete(findobj('Tag','APPLE'))
delete(findobj('Tag','STONE'))
% Draw clods
for i=15:-1:1
for j=15:-1:1
if MAP(i,j)==1
image(ax,70*(j-1)+35+[-SIZE.BASE/2,SIZE.BASE/2],...
70*(16-i)+35+[-SIZE.BASE/2,SIZE.BASE/2],...
flipud(MT.base.CData),...
'alphaData',flipud(MT.base.AlpData),...
'tag','BASE');
end
end
end
% Draw the exit
[ti,tj]=find(MAP==2);
image(ax,70*(tj-1)+35+[-SIZE.EXIT/2,SIZE.EXIT/2],...
70*(16-ti)+35+[-SIZE.EXIT/2,SIZE.EXIT/2],...
flipud(MT.exit.CData),...
'alphaData',flipud(MT.exit.AlpData),...
'tag','EXIT');
% Draw apple
[ti,tj]=find(MAP==3);
if ~isempty(ti)
image(ax,70*(tj-1)+35+[-SIZE.APPLE/2,SIZE.APPLE/2],...
70*(16-ti)+35+[-SIZE.APPLE/2,SIZE.APPLE/2],...
flipud(MT.apple.CData),...
'alphaData',flipud(MT.apple.AlpData),...
'tag','APPLE','UserData',[ti,tj]);
end
% Draw stones
[ti,tj]=find(MAP==4);
if ~isempty(ti)
image(ax,70*(tj-1)+35+[-SIZE.STONE/2,SIZE.STONE/2],...
70*(16-ti)+35+[-SIZE.STONE/2,SIZE.STONE/2],...
flipud(MT.stone.CData),...
'alphaData',flipud(MT.stone.AlpData),...
'tag','STONE','UserData',[ti,tj]);
end
end
function refreshSnake(~,~)
delete(findobj('Tag','SNAKE'))
% Draw the head of a snake
[ti,tj]=find(MAP==-1);
[ti_n,tj_n]=find(MAP==-2);
tSnakeC=MT.snake1.CData;
tSnakeAlp=MT.snake1.AlpData;
if tj_n>tj
tSnakeC=fliplr(tSnakeC);
tSnakeAlp=fliplr(tSnakeAlp);
end
if ti_n>ti
if MAP(ti,tj-1)==1
tSnakeC(:,:,1)=flipud(tSnakeC(end:-1:1,:,1)');
tSnakeC(:,:,2)=flipud(tSnakeC(end:-1:1,:,2)');
tSnakeC(:,:,3)=flipud(tSnakeC(end:-1:1,:,3)');
tSnakeAlp=flipud(tSnakeAlp');
else
tSnakeC(:,:,1)=flipud(tSnakeC(:,:,1)');
tSnakeC(:,:,2)=flipud(tSnakeC(:,:,2)');
tSnakeC(:,:,3)=flipud(tSnakeC(:,:,3)');
tSnakeAlp=flipud(tSnakeAlp');
end
end
if ti_n<ti
if MAP(ti,tj-1)==1
tSnakeC(:,:,1)=tSnakeC(end:-1:1,:,1)';
tSnakeC(:,:,2)=tSnakeC(end:-1:1,:,2)';
tSnakeC(:,:,3)=tSnakeC(end:-1:1,:,3)';
tSnakeAlp=tSnakeAlp';
else
tSnakeC(:,:,1)=tSnakeC(:,:,1)';
tSnakeC(:,:,2)=tSnakeC(:,:,2)';
tSnakeC(:,:,3)=tSnakeC(:,:,3)';
tSnakeAlp=tSnakeAlp';
end
end
image(ax,70*(tj-1)+35+[-SIZE.SNAKE/2,SIZE.SNAKE/2],...
70*(16-ti)+35+[-SIZE.SNAKE/2,SIZE.SNAKE/2],...
flipud(tSnakeC),...
'alphaData',flipud(tSnakeAlp),...
'tag','SNAKE');
[ti,tj]=find(MAP==min(MAP,[],[1,2]));
[ti_l,tj_l]=find(MAP==min(MAP,[],[1,2])+1);
tSnakeC=MT.snake4.CData;
tSnakeAlp=MT.snake4.AlpData;
switch true
case tj_l>tj
case tj_l<tj
tSnakeC=fliplr(tSnakeC);
tSnakeAlp=fliplr(tSnakeAlp);
case ti_l<ti
tSnakeC(:,:,1)=flipud(tSnakeC(:,:,1)');
tSnakeC(:,:,2)=flipud(tSnakeC(:,:,2)');
tSnakeC(:,:,3)=flipud(tSnakeC(:,:,3)');
tSnakeAlp=flipud(tSnakeAlp');
case ti_l>ti
tSnakeC(:,:,1)=tSnakeC(:,:,1)';
tSnakeC(:,:,2)=tSnakeC(:,:,2)';
tSnakeC(:,:,3)=tSnakeC(:,:,3)';
tSnakeAlp=tSnakeAlp';
end
% Snake tail painting
image(ax,70*(tj-1)+35+[-SIZE.SNAKE/2,SIZE.SNAKE/2],...
70*(16-ti)+35+[-SIZE.SNAKE/2,SIZE.SNAKE/2],...
flipud(tSnakeC),...
'alphaData',flipud(tSnakeAlp),...
'tag','SNAKE');
% Draw the body of a snake
for i=-2:-1:(min(MAP,[],[1,2])+1)
[ti,tj]=find(MAP==i);
[ti_l,tj_l]=find(MAP==i+1);
[ti_n,tj_n]=find(MAP==i-1);
switch true
case ti_l==ti_n
tSnakeC=MT.snake2.CData;
tSnakeAlp=MT.snake2.AlpData;
case tj_l==tj_n
tSnakeC=MT.snake2.CData;
tSnakeAlp=MT.snake2.AlpData;
tSnakeC(:,:,1)=tSnakeC(:,:,1)';
tSnakeC(:,:,2)=tSnakeC(:,:,2)';
tSnakeC(:,:,3)=tSnakeC(:,:,3)';
tSnakeAlp=tSnakeAlp';
case ti_l<ti_n&&tj_l>tj_n&&ti>ti_l
tSnakeC=MT.snake3.CData;
tSnakeAlp=MT.snake3.AlpData;
tSnakeC=rot90(tSnakeC,2);
tSnakeAlp=rot90(tSnakeAlp,2);
case ti_l<ti_n&&tj_l>tj_n&&tj<tj_l
tSnakeC=MT.snake3.CData;
tSnakeAlp=MT.snake3.AlpData;
case ti_l<ti_n&&tj_l<tj_n&&ti>ti_l
tSnakeC=MT.snake3.CData;
tSnakeAlp=MT.snake3.AlpData;
tSnakeC=flipud(tSnakeC);
tSnakeAlp=flipud(tSnakeAlp);
case ti_l<ti_n&&tj_l<tj_n&&tj>tj_l
tSnakeC=MT.snake3.CData;
tSnakeAlp=MT.snake3.AlpData;
tSnakeC=fliplr(tSnakeC);
tSnakeAlp=fliplr(tSnakeAlp);
case ti_l>ti_n&&tj_l>tj_n&&ti<ti_l
tSnakeC=MT.snake3.CData;
tSnakeAlp=MT.snake3.AlpData;
tSnakeC=fliplr(tSnakeC);
tSnakeAlp=fliplr(tSnakeAlp);
case ti_l>ti_n&&tj_l>tj_n&&tj<tj_l
tSnakeC=MT.snake3.CData;
tSnakeAlp=MT.snake3.AlpData;
tSnakeC=flipud(tSnakeC);
tSnakeAlp=flipud(tSnakeAlp);
case ti_l>ti_n&&tj_l<tj_n&&ti<ti_l
tSnakeC=MT.snake3.CData;
tSnakeAlp=MT.snake3.AlpData;
case ti_l>ti_n&&tj_l<tj_n&&tj>tj_l
tSnakeC=MT.snake3.CData;
tSnakeAlp=MT.snake3.AlpData;
tSnakeC=rot90(tSnakeC,2);
tSnakeAlp=rot90(tSnakeAlp,2);
end
image(ax,70*(tj-1)+35+[-SIZE.SNAKE/2,SIZE.SNAKE/2],...
70*(16-ti)+35+[-SIZE.SNAKE/2,SIZE.SNAKE/2],...
flipud(tSnakeC),...
'alphaData',flipud(tSnakeAlp),...
'tag','SNAKE');
end
end
end
link :https://pan.baidu.com/s/1v8tWz_ir47GQwWcgdYKbiQ?pwd=slan
Extraction code :slan
边栏推荐
- The ultimate buff of smart grid - guanghetong module runs through the whole process of "generation, transmission, transformation, distribution and utilization"
- MapReduce案例之聚合求和
- 姿态估计之2D人体姿态估计 - Simple Baseline(SBL)
- Hutool Usage Summary (VIP collection version)
- 2D human pose estimation for pose estimation - simdr: is 2D Heatmap representation even necessity for human pose estimation?
- 2290. Minimum Obstacle Removal to Reach Corner
- Tensorflow actual combat Google deep learning framework version 2 learning summary tensorflow installation
- 数字化管理中台+低代码,JNPF开启企业数字化转型的新引擎
- this和对象原型
- Explore the secrets behind the open source data visualization development platform flyfish!
猜你喜欢

SVM and ANN of OpenCV neural network library_ Use of MLP

点击解锁广和通5G模组“关键词”

2D human pose estimation for pose estimation - simdr: is 2D Heatmap representation even necessity for human pose estimation?

How to improve document management

Opencv 4 handwriting recognition: perfect self built training set

Méthodes couramment utilisées dans uniapp - TIMESTAMP et Rich Text Analysis picture

Scope and closure

2290. Minimum Obstacle Removal to Reach Corner

Vins theory and code explanation 4 - initialization

姿态估计之2D人体姿态估计 - SimDR: Is 2D Heatmap Representation Even Necessary for Human Pose Estimation?
随机推荐
Vins theory and code explanation 0 -- theoretical basis in vernacular
Baidu open source ice-ba installation and operation summary
C # game prototype character map dual movement
点投影到平面上的方法总结
Digital management medium + low code, jnpf opens a new engine for enterprise digital transformation
2290. Minimum Obstacle Removal to Reach Corner
Beginner pytorch step pit
Solution to some problems of shadow knife RPA learning and meeting Excel
Cube 技术解读 | Cube 渲染设计的前世今生
How to write a global notice component?
【无标题】
Apple style Chinese: it seems to express the meaning clearly, and the Apple style propaganda copy that you don't fully understand
【高代码文件格式API】上海道宁为您提供文件格式API集——Aspose,只需几行代码即可创建转换和操作100多种文件格式
ORB_SLAM2视觉惯性紧耦合定位技术路线与代码详解2——IMU初始化
Recommend an easy-to-use designer navigation website
How to improve document management
智能电网终极Buff | 广和通模组贯穿“发、输、变、配、用”全环节
姿态估计之2D人体姿态估计 - Human Pose Regression with Residual Log-likelihood Estimation(RLE)[仅链接]
kubernetes 二进制安装(v1.20.16)(五)验证 master 部署
MapReduce之分区案例的代码实现